我想启用ASP.NET MVC 4的SimpleMembership API与我自己的数据库模式集成.我的数据库中有一个简单明了的表,名为Users
,包含以下字段:
- Id
- Name
- Password
- IsDeleted
我已经将SimpleMembership API配置为使用我的数据库:
WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: true);
我还可以插入一个用户:
WebSecurity.CreateUserAndAccount(model.UserName, model.Password,
new
{
IsDeleted = false,
Email = "sampledata@gmail.com"
});
但是,密码字段(或它的散列)并没有插入到USERS表中(当然),它插入到另一个名为webpages_Membership
的表中,该表是用InitializeDatabaseConnection
调用创建的,包含许多我不需要的不必要信息.
此外,我还有其他自动创建的表,称为webpages_OAuthMembership、webpages_Roles和webpages_UsersInRoles,我不需要它们.
我已经try 将表生成设置为false:
WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: false);
但是在这种情况下,CreateUserAndAccount调用将抛出一个异常,因为它找不到webpages_成员表.
当我想使用SimpleMembership API时,似乎需要这些表.
我的问题是:在这样的场景中,当我只需要一张简单的Users
桌而不需要其他东西时,我应该怎么做?
我是否必须自己编写整个成员资格处理和身份验证逻辑(哈希代码生成等)?