目前可以将[Authorize]放在控制器类或特定操作上。是否有可能为所有控制器集中设置[Authorize]属性,比如防止未经身份验证的使用?然后可以在特定控制器上定义更具体的[authorization]属性,例如
[Authorize(Roles="Admin, SuperUser")]
谢谢。
这应该可以工作(放在Application_Start中):
GlobalFilters.Filters.Add(new AuthorizeAttribute() { Roles = "Admin, SuperUser" });
另一种选择是从基控制器类继承控制器,并在那里放置AuthorizeAttribute。
看看这个答案
你可以用特定的role, Users等覆盖子类上的AuthorizeAttribute基。
[Authorize]
public class BaseController : Controller{}
public class ChildController: BaseController{}
[Authorize(Role = "Role A")]
public class AnotherChildController: BaseController{}