摘要:ASP.NET MVC 4 的 WebSecurity
使用ASP.NET MVC4創建一個新的網際網路應用程式(Internet Application),查看 AccountController 會發現使用 [InitializeSimpleMembership] 屬性:
[Authorize]
[InitializeSimpleMembership]
public class AccountController : Controller
{
}
根目錄下的 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工作所需的資料表被創建,如果該資料表不存在則會ˋ自動被建立。