我希望能够使用 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"
});
然而,密码字段(或其哈希值)并没有插入到用户表中(当然),它被插入到另一个名为webpages_Membership
的表中,该表是通过调用InitializeDatabaseConnection
创建的,并且包含了很多我不需要的不必要的信息。此外,我还有其他自动生成的表,例如webpages_OAuthMembership、webpages_Roles和webpages_UsersInRoles,但我不需要它们。
我已经尝试将表生成设置为false:
WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: false);
但是在这种情况下,CreateUserAndAccount调用会抛出异常,因为它找不到webpages_Membership表。
看起来我想要使用SimpleMembership API时需要这些表。
我的问题是:在这种情况下,当我只想要一个简单的Users
表而不需要其他任何东西时,我该怎么办?
我是否需要自己编写整个成员资格处理和身份验证逻辑(哈希代码生成等)?