设计基于权限的角色系统而不是基于asp.net的目录

时间:2011-10-22 05:05:05

标签: c# asp.net permissions membership roles

我使用的是asp.net 2.0,并为用户配置文件和角色提供了不同的Sql Database表模式。但是我的角色不依赖于基于目录,因为默认的Asp.net成员资格组件假定。我已经使用自定义配置文件提供程序实现了here.的提示我设计的角色系统基于CanDeletePost, CanCreatePost, CanFlagPost等权限集,管理员将为permission setwill be role创建一个名称

实施例

  

Rolename - 主持人

     

权限 - CanDeletePost,CanCreatePost,CanFlagPost

问题:

  • 我应该如何使用asp.net实现这个基于权限的角色系统。
  • 成员资格如何与角色提供者不同。我还是不明白!!

1 个答案:

答案 0 :(得分:2)

您可以使用SqlRoleProvider提供基于角色的权限。

每当您想要显示/使用需要特定角色的函数时,只需检查,如果该用户是该角色的成员(page.User.Identity.IsInrole('moderator'))

成员资格和角色提供者之间的区别在于身份验证和授权之间的区别。 MembershipProviders关注身份验证,而roleProviders则关注授权。