SimpleMembership与ASP.NET MVC 4中的自定义数据库模式

我想启用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)。

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。