在ASP.Net中使用自定义RoleProvider时,如何允许多个角色查看页面

uri*_*ium 29 asp.net roles

我创建了自己的角色提供程序,因为我发现ASP.Net提供的数据库中的表格过于庞大.我发现实现自定义RoleProvider非常简单.

我唯一的问题是,现在我不能拥有一个页面的多个角色.我在某个地方看到,你需要用一些安全代码"对它进行""anotate it".这就是我所拥有的

[PrincipalPermission(SecurityAction.Demand, Role="Admin")]
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用逗号分隔列表包含多个角色,则会出现错误.如果我尝试指定多个角色键,那么我也会遇到错误.我是否需要指定多个PrinicipalPermissions?

我对ASP.Net的角色管理经验很少.有人能指出我正确的方向或一些好的文献.

Kie*_*ron 71

您可以多次添加PrinicpalPermission属性.

[PrincipalPermission(SecurityAction.Demand, Role="Admin")]
[PrincipalPermission(SecurityAction.Demand, Role="AnotherRole")]
Run Code Online (Sandbox Code Playgroud)

  • 对于任何想知道的人来说,这是针对多个"OR"角色,而不是"AND". (53认同)
  • 那你能谈谈如何做'和'吗?我发现'相交'和'联合'方法很难阅读. (3认同)