2013年6月29日 星期六

使用 MVC 4 SimpleMembership 與已經存在的 database-first EF model

創建一個新的網際網路應用程式(Internet Application),查看 AccountController 會發現使用 [InitializeSimpleMembership] 屬性,根目錄下的 Filters 資料夾有一個 InitializeSimpleMembershipAttribute.cs 檔案, 該檔案實作了 [InitializeSimpleMembership] 屬性, 在這個檔案裏面修改要連結的資料庫來使用 SimpleMembershipProvider

修改InitializeDatabaseConnection方法,該方法連結到含有user和membership資訊的資料庫來初始WebSecurity 
WebSecurity.InitializeDatabaseConnection("DefaultConnection""UserProfile""UserId""UserName", autoCreateTables: true);

DefaultConnection :
web.config的ConnectionStrings  
<connectionStrings>    
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Company-20130629022026;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Company-20130629022026.mdf" providerName="System.Data.SqlClient" />  
</connectionStrings>

UserProfile : 資料表

UserId 資料表的primary key 

UserName : 使用者名稱

autoCreateTables:
被設置為true確保為SimpleMembership工作所需的資料表被創建,如果他們不存在。

沒有留言: