2012-10-19 106 views
1

我最近發現ASP.NET MVC 4使用SimpleMembership而不是傳統的ASP.NET Membership Provider。我想使用SimpleMembership,但我也希望使用Sql Server express數據庫(稍後我將使用'真正的'Sql Server數據庫)。SimpleMembership與SQL Server Express數據庫

我習慣使用aspnet_regsql爲應用服務設置我的sql server數據庫,因此插入必要的成員表。

但是,這個應用程序不會設置一個數據庫使用SimpleMembership。

誰能告訴我如何做到這一點?

回答

1

您需要註釋掉的代碼WebSecurity.InitializeDatabaseConnection行(否則你第一次到達登錄表單應用程序將嘗試在定義的web.config連接字符串上創建簡單的成員表)。

然後,您將需要更新您的帳戶控制器代碼,因爲它是爲簡單會員使用而編寫的,以反映您選擇的會員提供商。

最近,我通過創建一個MVC3項目,然後將其升級到MVC4(read the how to upgrade mvc3 to mvc4 section)。不是最乾淨的,但它確實阻止我必須更新帳戶控制器代碼。

1

我會建議尋找到InitializeSimpleMembershipAttribute,這是在文件夾中「過濾器」

有一個命令初始化數據庫。它檢查自己,如果表已經創建。

WebSecurity.InitializeDatabaseConnection("connStringName", "UserProfile", "UserId", "UserName", autoCreateTables: true); 

的表是:

  • 用戶配置=>在我的情況下,由於初始化的
  • webpages_OAuthMembership
  • webpages_Membership
  • webpages_OAuthToken
  • webpages_Roles
  • webpages_UsersInRoles

您可以檢查出aspnetwebstack項目的源代碼

相關問題