我有一个自定义授权实现,它在构造函数中接收不需要授权的控制器的名称:
public class ValidatePermissionAttribute : AuthorizeAttribute
{
...
public ValidatePermissionAttribute(params string[] optionalControllers)
{
this._optionalControllers = optionalControllers;
}
...
}
在我的global.asax中:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new ValidatePermissionAttribute("Login", "Error"));
}
问题是,在RegisterGlobalFilters
中调试我的应用时,我在过滤器中看到了参数。但是当请求Action时,参数是string[0]
。
答案 0 :(得分:2)
ASP.NET MVC 3中的条件筛选器是可行的方法。 http://haacked.com/archive/2011/04/25/conditional-filters.aspx