Asp.net

SimpleMembership 與 ASP.NET MVC 4 中的自定義數據庫架構

  • September 10, 2012

我想啟用 ASP.NET MVC 4 的 SimpleMembership API 以與我自己的數據庫架構集成。我的數據庫中有一個簡單的表,Users用這些欄位呼叫:

  • ID
  • Name
  • 密碼
  • 電子郵件
  • 已刪除

我已經配置了 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,包含很多我不需要的不必要資訊。

此外,我還有其他自動創建的表,稱為 pages_OAuthMembership、webpages_Roles 和 pages_UsersInRoles,我不需要這些表。

我已經嘗試將表生成設置為 false:

WebSecurity.InitializeDatabaseConnection("MyStuff", "Users", "Id", "Name", autoCreateTables: false);

但在這種情況下,CreateUserAndAccount 呼叫將引發異常,因為它不會找到 pages_Membership 表。

當我想使用 SimpleMembership API 時,看起來需要這些表。

我的問題是:當我只想要一個簡單的Users表格時,在這種情況下我應該怎麼做?

我是否必須自己編寫整個成員資格處理和身份驗證邏輯(雜湊碼生成等)?

我向產品團隊提出了同樣的問題。

SIMPLE 成員的設計目標是盡可能簡單地開箱即用。

因此,就表格而言,實際上不可能進行定制。推薦的解決方法是,仍然使用 ASP.NET Membership (SqlMembershipProvider)。

引用自:https://stackoverflow.com/questions/12360126