ASP.NET MVC 4使用权限代码自定义授权属性(无角色)

ASP.NET MVC 4使用权限代码自定义授权属性(无角色)

我需要在我的MVC 4应用程序中根据用户权限级别(没有角色,只分配给用户的CRUD操作级别的权限级别)来控制对视图的访问。

举个例子; AuthorizeUser下面将是我的自定义属性,我需要像这样使用它:

[AuthorizeUser(AccessLevels="Read Invoice, Update Invoice")]public ActionResult UpdateInvoice(int invoiceId){
   // some code...
   return View();}[AuthorizeUser(AccessLevels="Create Invoice")]public ActionResult CreateNewInvoice(){
  // some code...
  return View();}[AuthorizeUser(AccessLevels="Delete Invoice")]public ActionResult DeleteInvoice(int invoiceId){
  // some code...
  return View();}

有可能这样做吗?


慕码人8056858
浏览 644回答 3
3回答

冉冉说

这是对prev的修改。回答。主要区别在于用户未经过身份验证时,它使用原始的“HandleUnauthorizedRequest”方法重定向到登录页面:   protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)     {         if (filterContext.HttpContext.User.Identity.IsAuthenticated) {             filterContext.Result = new RedirectToRouteResult(                         new RouteValueDictionary(                             new                             {                                 controller = "Account",                                 action = "Unauthorised"                             })                         );         }         else         {              base.HandleUnauthorizedRequest(filterContext);         }     }
打开App,查看更多内容
随时随地看视频慕课网APP