我有这些角色:管理员,医生和病人。但是登录信息存储在不同的表中。管理员的用户名和密码存储在User_TABle中(它们是两个项目)。患者的登录信息存储在Patient_TABLE中: PatientID、Year和DocumentID(三项)。我想使用SQLRoleProvider和SQLProfileProvider。如何使用loginView设计不同的登录页面?
诚挚的您
发布于 2012-03-25 00:12:31
我认为更好的设置应该是这样:
使用ASP.NET附带的标准MembershipProvider与RoleProvider结合使用。设置完成并拥有角色后,您可以通过以下方式存储每个角色的个人信息:
使用ProfileProvider (一个不错的方法,但需要一些工作,因为您有多态数据(您可以使用XML将其存储在提供者的文本字段中,或者编写您自己的自定义配置文件提供者)
或
向aspnet_Users PK添加一个与您的模式类似但具有外键的表。然后在代码中,您可以执行Roles.IsUserInRole(“随便”)并适当地更改loginView。这也意味着您可以只拖放其余的LoginControl等,并使其仅与标准成员资格提供程序一起工作
发布于 2012-03-25 00:13:12
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
https://stackoverflow.com/questions/9853146
复制相似问题