扩展RoleProvider GetRolesForUser()

时间:2010-06-03 10:43:59

标签: asp.net asp.net-membership membership-provider roleprovider asp.net-roles

GetRolesForUser()中的RoleProvider方法获取用户登录名并返回该用户的角色列表。但是在我的应用程序中这还不够,我还需要一些信息才能获得用户的角色。

如何将此额外信息添加到方法中?

我在Session中有,但我发现Session中没有RoleProvider

我想到的是将这些额外的信息放在扩展MembershipUser的某个类中,假设我可以在RoleProvider内找到它。但我不知道如何创建CustomMembershipUser并将其作为MembershipProvider的一部分。这甚至可能吗?

简单的出路是using cookies,但我正试图远离它。

3 个答案:

答案 0 :(得分:2)

此问题的解决方案:使用Cookie存储RoleProvider所需的任何额外信息。

答案 1 :(得分:1)

您可以在HttpContext.Current.Items数组中存储和检索RoleProvider中可用的内容,与会话不同。

答案 2 :(得分:0)

我知道这是一个老问题,但我只想建议每个服务使用特定角色。因此,您不必使用管理员,管理员和用户,而是拥有Service1_Administrator,Service2_Administrator,Service1_Manager,Service2_Manager,Service1_User,Service2_User等。

你是怎么解决的?