c# – ASP.NET MVC授权具有许多角色的用户
发布时间:2020-12-15 06:48:00 所属栏目:百科 来源:网络整理
导读:我需要在我的ASP.NET MVC应用程序中授权一个Controller,该用户具有两个角色. 我正在使用Authorize属性,如下所示: [Authorize(Roles = “Producer,Editor”)] 但是,这允许制作人员和编辑者控制器.我只想允许具有两个角色的用户,而不仅仅是其中之一. 我该怎么
我需要在我的ASP.NET MVC应用程序中授权一个Controller,该用户具有两个角色.
我正在使用Authorize属性,如下所示:
但是,这允许制作人员和编辑者控制器.我只想允许具有两个角色的用户,而不仅仅是其中之一. 我该怎么办? 解决方法
你应该做你自定义的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{ } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |