2016-12-11

在 ASP.NET MVC 5 預設專案範本中透過 ASP.NET Identity 由 Email 改用 Username 登入

ASP.NET MVC 5 使用新的會員系統 - ASP.NET Identity,預設的專案範本,幫我們建立了基本的會員系統,就是以ASP.NET Identity,其中註冊登入都是以 E-mail 為帳號,剛好專案的使用者希望用簡單的帳號(不想每次都打 email),就來看看要修改哪些地方吧

一、預設專案範本

建立專案--> 預設 MVC 專案範本

create defaulttemplate

註冊

registerwithemail

登入

loginwithemail

二、開始修改

1. 註冊

1-1. 註冊畫面
Views/Account/Register.cshtml
registercshtml
將 Email 改為 Username
registercshtml2
1-2. 註冊 Model
Models/AccountViewModel.cs RegisterViewModel
registermodel registerdone
  1. Email --> Username
  2. Display(Name="Email") --> Display(Name="Username")
  3. 移除 [EmailAddress]
    沒有移除[EmailAddress] 出現的錯誤 emialattibute
1-3. 註冊功能
Contrllers/AccountController.cs Register
register REGISTERCHANGE REGISTERCHANGEDONE
  1. Username = model.Email 改為 Username = model.Username
    由此可知,其實本來就有 Username 這個欄位,只是預設用 email 取代了
  2. ,Email = model.Email 刪除
1-4. Identity 設定
App_Start/IdentityConfig.cs ApplicationUserManager
  • RequireUniqueEmail = true --> RequireUniqueEmail = false
indentitychanged 未修改時會出現錯誤 needemail

2. 登入

login
2-1. 登入畫面
Views/Login.cshtml
logincshtml Email --> Username logincshtmldone
2-2. 修改 登入 Model
Models/AccountViewModel.cs LoginViewModel
loginviewmodel loginviewmodeldone
  1. Email --> Username
  2. Display(Name="Email") --> Display(Name="Username")
  3. 移除 [EmailAddress]
2-3. 登入功能
Contrllers/AccountController.cs login
loginfunction
  • model.Email --> model.Username
loginfunctiondone

完成修改

  1. 註冊
register1
  1. 登入
2login
登入的帳號從 Email 改為 Username ,改動範圍並不大,也沒什麼機會了解到 ASP.NET Identity,接下來再找時間來做一些測試修改,好好了解 ASP.NET Identity

沒有留言:

張貼留言