我正在尝试将ASP.NET MVC用于我的新项目,并且预计用户身份验证应该相当简单。我的目标是在我的主数据库中有一个单独的用户数据库表。
我认为SqlTableProfileProvider应该是解决方案。所以我将相应的表添加到我的数据库中并更改了web.config文件。但似乎无论我在那里更改什么,我的Web应用程序仍然使用默认身份验证(通过ASPNETDB.mdf文件)。
可能是什么问题?
(我的web.config文件开头是:)
答案 0 :(得分:1)
有关如何在SQL Server数据库中创建标准应用程序服务表和关联数据库实体的信息,请参阅此reference。完成后,应该只需更改web.config文件中的默认Application Services连接字符串即可使用内置提供程序来获取成员资格,角色和配置文件。
答案 1 :(得分:1)
执行我的操作并忘记滚动您自己的成员资格提供程序等或使用sqltableprofileprovider - 而是将默认成员资格通过关系添加的表扩展到您自己的包含您要存储的额外数据的表。
因此,例如,在数据库中添加另一个名为“Details”的表,然后将主键设置为与aspnet_Users表的主键1对1相关。像使用其他任何一样使用这个新表。如果需要用户的主键,请使用成员资格api来抓取它。
未经测试!
Guid userID = (Guid)Membership.GetUser(username).ProviderUserKey;
然后将您需要的数据添加到详细信息表格和集合中。
对我来说似乎更灵活 - 虽然我可能做错了! :)