我想启用ASP.NET MVC 4的SimpleMembership API与我自己的数据库模式集成。我在我的数据库中有一个简单的表,名为Users with these fields:
> Id
>名称
>密码
>电子邮件
> IsDeleted
我已经配置SimpleMembership API来使用我的数据库:
WebSecurity.InitializeDatabaseConnection("MyStuff","Users","Id","Name",autoCreateTables: true);
我也可以插入一个用户:
WebSecurity.CreateUserAndAccount(model.UserName,model.Password,new { IsDeleted = false,Email = "sampledata@gmail.com" });
但是,密码字段(或它的哈希)没有插入到用户表(当然),它插入到另一个名为webpages_Membership的表,它是使用InitializeDatabaseConnection调用创建的,并且包含了我不需要的很多不必要的信息。
此外,我有其他自动创建的表称为webpages_OAuthMembership,webpages_Roles和webpages_UsersInRoles,我不需要。
我已经尝试将表生成设置为false:
WebSecurity.InitializeDatabaseConnection("MyStuff",autoCreateTables: false);
但在这种情况下,CreateUserAndAccount调用将抛出异常,因为它不会找到webpages_Membership表。
当我想使用SimpleMembership API时,看起来这些表需要。
我的问题是:当我想只有一个简单的用户表,没有什么更多的情况下,我应该怎么做?
我必须自己写整个成员处理和认证逻辑(哈希码生成等)吗?
解决方法
我问同样的问题给产品团队。
SIMPLE成员的设计目标是尽可能简单地开箱即用。
所以真的没有自定义可能的表格。建议的解决方法是,仍然使用ASP.NET成员资格(SqlMembershipProvider)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。