2013-07-22 31 views
2

我想根据当前用户的角色设置一些特定的权限。 例如: 我不得不角色3个角色 让它成为如何在asp.net中设置嵌套角色成员

  1. 超级管理员
  2. 联系
  3. 主管

如果我的上司,超级管理员和管理员应该设置权限自动获得许可。 如果我为Admin设置,那么超级管理员应该获得权限,但是管理员不应该能够访问这些页面。

请该解决方案帮助

注:我不想给特定的用户给出多个角色

+0

据我所知,它不是在aspnet成员身份的树结构。所以你不能这样做。没有角色 - 副作用关系。您可以自己创建角色子角色关系,但这不是一个好主意,它会影响许多aspnetmembersmembership功能。 –

+0

@DavutGürbüz谢谢你的回复,我知道没有树结构,我认为会有某种方式可以使用C#代码来定义访问级别 –

+0

你必须增强aspnetmembership表和存储过程。这是可以做到的,但我猜这两天工作很踏实。 – Alexander

回答

0

有使用“授权管理器”非常有效的解决方案。

它为基于角色的访问控制集成到应用程序提供了一个灵活的框架。它使使用这些应用程序的管理员能够通过与作业功能相关的指定用户角色提供访问权限。

授权管理器应用程序以存储在Active Directory域服务(AD DS),Active Directory轻型目录服务(AD LDS),XML文件或Microsoft SQL Server数据库中的授权存储区的形式存储授权策略。这些策略然后在运行时应用。

的更多信息,请访问http://msdn.microsoft.com/en-us/library/bb897401.aspx

0

我不想给特定用户的多个角色。

您应该能够为用户分配多个角色;这是角色基础授权应该如何实现的。角色的身份验证不应该依赖于其他角色。

请不要为基于角色的认证实施层级角色。

这不是一个好的设计实践。如果你不小心,他们将成为循环依赖,他们很难调试。