使用 Asp.Net Identity 初體驗
當創建時,如果就已經使用 ASP.NET MVC Template 預設就會使用 Asp.Net Identity

接著只要在Web.Config 的 DefaultConnection 裡面指定正確的資料庫讓他運作,

執行時就可以直接使用
(註冊畫面)

(登錄後畫面)

增加資料欄位
人生沒那麼美好,客戶的要求絕對不是只有這樣…。所以乖乖加欄位吧。

在 RegisterViewModel (AccountViewModels.cs)

在 Account > Register.cshtml 增加欄位顯示

在 AccountController 找到 Register 增加 Name 的處理

執行時會發生錯誤,因為資料庫還沒更新

打開 package Manager Console

執行
Enable-Migrations
Add-Migration Init
Update-Database
然後,執行,再試著新增一個帳號

資料也如預期的加入 Name 這個欄位

增加角色
找到 Migrations 裡面的 Seed (或者直接在資料庫增加也可以)

再運行一次 Update-Database ,資料庫便會出現資料。

原本的資料可以進資料庫手動更新 UserId 對應的就是AspNetUsers的 Id、RoleId 對應的就是 AspNetUserRoles 的 Id

簡單的建立兩個頁面測試權限(須注意,大小寫有別)

成功會顯示網頁

沒有權限目前會導到登錄頁面

最後,在註冊的地方,增加角色


增加 Email 二階段驗證
由於 AspNet Identity 已經把程式碼寫好了,只要到 IdentityConfig 找到 EmailService

並把原本 Register 裡面註解的程式碼解除註解

執行註冊後會發一封信給使用者,當使用者有點連結時,會將 EmailConfirm 設為 true


但由於驗證實際上只是改值,畫面及功能上尚未處理未經驗證的使用者,及驗證碼重寄的流程
