我想啓用ASP.NET MVC 4的SimpleMembership API來與我自己的數據庫模式集成。我在我的數據庫中的一個簡單明瞭的表格稱爲Users
這些領域:SimpleMembership與ASP.NET MVC 4中的自定義數據庫模式
- 標識
- 名稱
- 密碼
- 電子郵件
- 請將isDeleted
我已經配置了SimpleMembership API使用我的數據庫:
WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: true);
而且我可以插入過用戶:
WebSecurity.CreateUserAndAccount(model.UserName, model.Password,
new
{
IsDeleted = false,
Email = "[email protected]"
});
但是,密碼字段(或它的散列值)被沒有插入Users表(當然),它插入到另一個表webpages_Membership
中,該表使用InitializeDatabaseConnection
調用創建,幷包含大量不需要的不必要信息。
此外,我有其他自動創建的表,稱爲webpages_OAuthMembership,webpages_Roles和webpages_UsersInRoles,我不需要。
我已經試過表生成設置爲false:
WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: false);
但是,在這種情況下,CreateUserAndAccount調用將拋出一個異常,因爲它會找不到webpages_Membership表。
當我想使用SimpleMembership API時,它看起來像是需要這些表格。
我的問題是:當我只想要一個簡單的Users
表時,我應該怎麼做?
我必須自己編寫整個成員資格處理和認證邏輯(散列碼生成等)嗎?
好的,謝謝!也許我會寫我的自定義驗證邏輯。 – Zsolt
不!請不要這樣做! :-) – Max
使用SqlMembership非常簡單!只需搜索有關ASP.NET成員資格的教程。它非常靈活! – Max