是否可以与自定义成员资格提供程序一起使用内置的SqlRoleProvider?如何做到这一点?
@mellamokb
合并了两者的某些方面? NO
同时使用它们?是的(因此,“使用内置的SqlRoleProvider以及自定义成员资格提供程序”是我问题的一部分)
从两个角色读取角色?成员资格提供程序与读取角色有什么关系?
同时对它们进行身份验证?角色提供程序与身份验证有什么关系?
发布于 2011-05-20 17:07:16
成员资格提供者与阅读角色有什么关系?
没什么。
角色提供程序与身份验证有什么关系?
没什么
是的,您当然可以将SqlRoleProvider与您的自定义成员资格提供程序一起使用.他们都是独立的。
内置的SqlMembership提供程序和SqlRoleProvider共享aspnet_Users和aspnet_Application表。使用SqlRoleProvider,每当您将用户添加到角色时,如果存在用户,它将检查aspnet_Users表(它将检查username+applicaitonID组合)。如果用户不存在,它将为您创建一个用户。如果用户存在(在使用SqlMembershipProvider创建用户时可能是这样),它只会将用户添加到角色中,而不是创建用户。
所以再一次,是的,这应该是可行的。
发布于 2011-05-20 15:39:27
我从未尝试过这一点,但根据我在SqlMembershipProvider和SqlRoleProvider方面的经验,我认为这是可能的。不过,我认为SqlRoleProvider将要求您将成员资格数据库存储(或至少镜像)到由Aspnet_regsql.exe工具设置的模式中,因为它将需要那些返回用户列表的方法(如RoleProvider.FindUsersInRole
)的表。
有关实现自定义成员资格提供程序的信息,请参阅本文:
编辑:我越关注这一点,SqlMembershipProvider和SqlRoleProvider之间唯一的交互级别就越像是在SQL级别,因此,只要您实现自定义MembershipProvider来以SqlMembershipProvider的方式存储(或镜像)用户数据,您就应该是黄金级的。
https://stackoverflow.com/questions/6073824
复制相似问题