在 ASP.Net 中使用自定义 RoleProvider 时如何允许多个角色查看页面
Posted
技术标签:
【中文标题】在 ASP.Net 中使用自定义 RoleProvider 时如何允许多个角色查看页面【英文标题】:How do I allow multiple roles to see a page when using a custom RoleProvider in ASP.Net 【发布时间】:2010-10-10 08:36:30 【问题描述】:我创建了自己的角色提供程序,因为我发现 ASP.Net 提供的角色提供程序在数据库中的表方面过于庞大。我发现实现自定义 RoleProvider 非常简单。
我唯一的问题是现在我不能为一个页面设置多个角色。我在某处看到,在您的班级顶部,您需要使用一些安全代码“注释”它。这就是我所拥有的
[PrincipalPermission(SecurityAction.Demand, Role="Admin")]
如果我尝试使用逗号分隔的列表来包含多个角色,则会出现错误。如果我尝试指定多个角色键,那么我也会收到错误。我是否需要指定多个 PrinicipalPermissions?
我对 ASP.Net 的角色管理经验很少。有人能指出我正确的方向或一些好的文学作品吗?
【问题讨论】:
【参考方案1】:您可以多次添加 PrinicpalPermission 属性。
[PrincipalPermission(SecurityAction.Demand, Role="Admin")]
[PrincipalPermission(SecurityAction.Demand, Role="AnotherRole")]
【讨论】:
对于任何想知道的人,这适用于多个“OR”角色,而不是“AND”。 那你能参考一下如何做'AND'吗?我发现 'intersect' 和 'union' 方法读起来很混乱。【参考方案2】:[PrincipalPermission(SecurityAction.Demand, Role="Admin,Another RoleName")]
【讨论】:
以上是关于在 ASP.Net 中使用自定义 RoleProvider 时如何允许多个角色查看页面的主要内容,如果未能解决你的问题,请参考以下文章
如何在 asp.net core 2.1 中使用自定义消息设置状态代码?
为啥在asp.net中使用自定义404页面时不存在的页面返回302状态
在 Kendo Scheduler 自定义模板中绑定 DropDownList(ASP.NET MVC Wrapper 版本)