加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 21:09:00 所属栏目:asp.Net 来源:网络整理
导读:我想启用ASP.NET MVC 4的SimpleMembership API与我自己的数据库模式集成。我在我的数据库中有一个简单的表,名为Users with these fields: Id 名称 密码 电子邮件 IsDeleted 我已经配置SimpleMembership API来使用我的数据库: WebSecurity.InitializeDatab
我想启用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)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读