ASP.NET中成员资格提供程序中的分组角色

ASP.NET中成员资格提供程序中的分组角色,asp.net,asp.net-membership,asp.net-roles,Asp.net,Asp.net Membership,Asp.net Roles,我已经问过类似的问题 我有基本的用户角色: -Admin -Super User -User 对于此角色,我管理站点权限。例如添加新用户或更改其配置文件 我的应用程序中也有很多页面,比如 -Evaluation.aspx -Action.aspx -Properties.aspx 等等。 我希望能够为每个用户分别授予访问每个页面的权限 我考虑角色。 我将用户添加到Evaluationrole,他可以浏览Evaluation.aspx 这种方法中的每个页面都有自己的基于角色的访问模型。因此

我已经问过类似的问题

我有基本的用户角色:

-Admin
-Super User
-User
对于此角色,我管理站点权限。例如添加新用户或更改其配置文件

我的应用程序中也有很多页面,比如

-Evaluation.aspx 
-Action.aspx 
-Properties.aspx
等等。 我希望能够为每个用户分别授予访问每个页面的权限

我考虑角色。 我将用户添加到Evaluationrole,他可以浏览Evaluation.aspx

这种方法中的每个页面都有自己的基于角色的访问模型。因此,我将在我的会员提供商中扮演更多角色

-Evaluation
-Action
-Properties
然后我可以在web.config中轻松设置页面访问策略

当我想用PagePermissionRoles绑定CheckBoxList控件时,我必须这样做:

private IEnumerable<string> UserSectionRolesGet(string userName)
{
    return Roles.GetRolesForUser(userName).Except(UserTypeRoles);
}
是否有方法创建两种类型的角色:UserTypeRoles和PagePermissionRole,以提供单独的存储和处理


我真的不想覆盖asp.net成员资格提供程序中的现有生成。

我真的不想覆盖asp.net成员资格提供程序中的现有生成。为什么?您不需要重新发明轮子并从抽象成员资格提供者继承。既然您已经提到了aspnet_角色,那么您正在使用SqlMembershipProvider。你可以用你需要的功能来扩展它。我真的不知道如何开始。使用页面权限角色创建新表,然后像roles.IsUserInRole一样验证它们,这是一个好主意吗?
-Evaluation
-Action
-Properties
private IEnumerable<string> UserSectionRolesGet(string userName)
{
    return Roles.GetRolesForUser(userName).Except(UserTypeRoles);
}