加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – ASP.NET MVC授权具有许多角色的用户

发布时间:2020-12-15 06:48:00 所属栏目:百科 来源:网络整理
导读:我需要在我的ASP.NET MVC应用程序中授权一个Controller,该用户具有两个角色. 我正在使用Authorize属性,如下所示: [Authorize(Roles = “Producer,Editor”)] 但是,这允许制作人员和编辑者控制器.我只想允许具有两个角色的用户,而不仅仅是其中之一. 我该怎么
我需要在我的ASP.NET MVC应用程序中授权一个Controller,该用户具有两个角色.
我正在使用Authorize属性,如下所示:

[Authorize(Roles = “Producer,Editor”)]

但是,这允许制作人员和编辑者控制器.我只想允许具有两个角色的用户,而不仅仅是其中之一.

我该怎么办?

解决方法

你应该做你自定义的AuthorizeAttribute
public class AuthorizeMultipleAttribute : AuthorizeAttribute
{

   //Authorize multiple roles
   public string MultipleRoles { get; set; }

  protected override bool AuthorizeCore(HttpContextBase httpContext)
  {
      var isAuthorized = base.AuthorizeCore(httpContext);
      if (!isAuthorized)
      {                
        return false;
      }

      //Logic here
      //Note: Make a split on MultipleRoles,by ','
      //User is in both roles => return true,else return false
  }

}

演示:

[AuthorizeMultiple(MultipleRoles ="Role1,Role2")]
public class UserController{
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读