ASP.NET MVC 4 的 WebSecurity 設定

  • 4339
  • 0

摘要: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工作所需的資料表被創建,如果該資料表不存在則會ˋ自動被建立。