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

前端之家收集整理的这篇文章主要介绍了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)。

猜你在找的asp.Net相关文章