我已经看到AuthoriseAttribute可以用于每个单独的控制器,我想要做的是将整个站点权限设置为一个AD组,这很容易,或者我应该只复制并粘贴authattrib行每个控制器?
由于
答案 0 :(得分:5)
正如@asawyer所说,对你的案例使用全局过滤器是一种很好的做法。对于评论中的另一部分问题:in the global filter where do i specify what AD groups are allowed to use the site?
您可以在自定义授权属性的OnAuthorization
方法中指定角色,例如:
public class MyAuthAttribute: AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
Roles = 'ad role1, ad role2...'; //Roles is AuthorizeAttribute member
base.OnAuthorization(filterContext);
}
}
而不是像:
GlobalFilterCollection.Add(new MyAuthAttribute());
在global.asax或w / e else