ASP.net中的角色提供者

时间:2012-03-24 16:02:29

标签: asp.net roleprovider role

我有这些角色:管理员,医生和病人。但登录信息存储在不同的表中。管理员的用户名和密码存储在User_TABle中(它们是两个项目)。患者的登录信息存储在Patient_TABLE中:PatientID,Year和DocumentID(它们是三个项目)。我想使用SQLRoleProvider和SQLProfileProvider。如何使用loginView设计不同的登录页面?

真诚的你

2 个答案:

答案 0 :(得分:0)

我认为更好的设置是:

使用ASP.NET附带的标准MembershipProvider与RoleProvider结合使用。一旦设置完成并且您具有角色,您可以通过以下方式存储每个人的个人信息:

使用ProfileProvider(不是一个糟糕的方法,但需要一些工作,因为你有多态数据(你可以在提供者的文本字段中使用XML存储它或编写自己的自定义配置文件提供者)

OR

添加一个类似于您的架构但使用外键到aspnet_Users PK的表。在代码中,您可以执行Roles.IsUserInRole(“Whatever”)并相应地更改loginView。这也意味着您可以拖放剩余的LoginControl等,并使其与标准成员资格提供程序一起使用

答案 1 :(得分:0)

SqlRoleProvider SqlProfileProvider SqlMembershipProvider 附带默认的Aspnetdb。

要创建这些提供程序使用的数据库,请运行C:\ WINDOWS \ Microsoft.NET \ Framework \ versionNumber文件夹中的aspnet_regsql.exe可执行文件。否则,您必须创建 CustomRoleProvider CustomProfileProvider CustomMembershipProvider

http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx