目前,将[授权]放在控制器类或特定操作上。是否可以集中为所有控制器设置[Authorize]属性,比如防止未经身份验证的使用。之后,可以在特定控制器上定义更具体的[授权]属性,例如
[Authorize(Roles="Admin, SuperUser")]
感谢。
答案 0 :(得分:36)
这应该有效(放入Application_Start):
GlobalFilters.Filters.Add(new AuthorizeAttribute() { Roles = "Admin, SuperUser" });
答案 1 :(得分:8)
另一种选择是让控制器继承自基础控制器类,并将AuthorizeAttribute放在那里。
然后,您可以使用特定角色,用户等覆盖子类的基本AuthorizeAttribute。
[Authorize]
public class BaseController : Controller{}
public class ChildController: BaseController{}
[Authorize(Role = "Role A")]
public class AnotherChildController: BaseController{}