我已经定义了一个自定义授权属性。为了避免在我的控制器中的每个 ActionResult 上方列出该属性,我已将该属性添加到我的 global.asax 中,如下所示:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new MyAuthorizeAttribute());
}
然而,这样做的一个意想不到的后果是,在我的所有 JsonResult 调用期间,我的授权代码也会被调用。有没有办法让 MyAuthorizeAttribute 只在 ActionResult 调用上而不是在 JsonResult 调用上被调用?我正在使用 MVC3。