如何实现支持子角色的自定义角色提供程序?

时间:2010-07-28 09:47:57

标签: .net asp.net roles provider

是否有关于如何实现支持父级和子级角色的自定义角色提供程序的良好指南?

我要求按照通常的角色提供程序功能拥有高级别的角色权限。但是,我还要求进一步将权限细分为子角色。我玩弄了进一步的子权限角色实例的想法,但我更喜欢有一个允许子角色的原生解决方案。

例如:

[IT]

[IT]> [管理]

[外联网]

[外联网]> [管理]

在这种情况下,“管理员”角色实际上是两个不同的角色,一个用于IT,一个用于Extranet方案。理想情况下,2个“管理员”角色之间没有关联,因为它们是唯一的子角色。

[编辑]:根据伊戈尔的评论,我觉得我应该澄清一下。 aspnetdb已经托管了多个应用程序,因此无法使用应用程序名称来隔离子角色,因为它已被用于按应用程序分离角色。

3 个答案:

答案 0 :(得分:3)

1)使用权限聚合,为什么必须使用继承?只需将用户分配给IT和管理员角色,他们的权限就会被连接起来。

2)使用Application Name分隔Admin(1)和Admin(2)。如果我理解你,它将是2个不同的应用程序(否则将一个管理员重命名为其他名称)

运气。

答案 1 :(得分:1)

不确定您是否仍在寻找可行的解决方案,但我最近开发了一个具有类似要求的应用程序。我使用角色提供程序来分配基本角色。在您的情况下,IT或外联网。然后为每个用户分配一个状态(管理员和外联网管理员)。登录会话以登录以存储其状态并使用if语句来访问子角色页面和视图。

答案 2 :(得分:0)

(应该用asp.net标记)

我不知道任何支持角色解决方案中的角色的本地(MS)解决方案。如果您不需要在角色中提供角色,则可以始终创建“IT”,“IT_Admin”,“Extranet”和“Extranet_Admin”等角色。

相关问题