为MVC3设置自定义授权角色
本文关键字:授权 角色 自定义 设置 MVC3 | 更新日期: 2023-09-27 18:06:38
目前我的控制器是这样的:
public class ProductBrandsController : Controller
我在网上看到,我可以将[Authorize]
装饰器应用于每个动作,也可以应用于整个控制器本身。
是否有办法声明一个自定义装饰器,这样我就可以这样调用它:
[Authorize(Roles = "God")]
public class ProductBrandsController : Controller
也许这太麻烦了。我不介意创建一个新的装饰器,并像这样命名它:
[Administrator]
public class ProductBrandsController : Controller
//Or
[ContentManager]
public class ProductBrandsController : Controller
然后我将创建一个自定义类来验证登录的用户是否在角色中。
有什么建议吗?
当然,您只需要从ActionFilterAttribute
派生。
public class AdministratorRequiredAttribute : ActionFilterAttribute
{
override OnActionExecuting() { }
override OnActionExecuted() { }
override OnResultExecuting() { }
override OnResultExecuted() { }
}
你可以覆盖OnActionExecuting
方法来插入逻辑来检查你的用户的认证;当这还不够时,您可以使用上下文对象将用户重定向到动作方法之外。