文章目錄
在 ASP.NET MVC 5 預設專案範本中透過 ASP.NET Identity 由 Email 改用 Username 登入
ASP.NET MVC 5 使用新的會員系統 - ASP.NET Identity
,預設的專案範本,幫我們建立了基本的會員系統,就是以ASP.NET Identity
,其中註冊
及登入
都是以 E-mail 為帳號,剛好專案的使用者希望用簡單的帳號(不想每次都打 email),就來看看要修改哪些地方吧
一、預設專案範本
建立專案–> 預設 MVC 專案範本
註冊
登入
二、開始修改
1. 註冊
1-1. 註冊畫面
Views/Account/Register.cshtml
將 Email 改為 Username
![registercshtml2](https://trello-attachments.s3.amazonaws.com/5835ab9d70f36ddbf5f15558/1200x521/fc8f334b189d7019b57b9f857a776850/_output_registercshtml2.png)
1-2. 註冊 Model
Models/AccountViewModel.cs 的 RegisterViewModel
![registerdone](https://trello-attachments.s3.amazonaws.com/5835ab9d70f36ddbf5f15558/1200x390/fba91740adeb3b1f24899a0c86ed1da7/_output_registerdone.png)
Email
–>Username
Display(Name="Email")
–>Display(Name="Username")
移除
[EmailAddress]
沒有移除
[EmailAddress]
出現的錯誤
1-3. 註冊功能
Contrllers/AccountController.cs 的 Register 方法
把
Username = model.Email
改為Username = model.Username
由此可知,其實本來就有 Username 這個欄位,只是預設用 email 取代了
把
,Email = model.Email
刪除
1-4. Identity 設定
App_Start/IdentityConfig.cs 的 ApplicationUserManager 屬性
RequireUniqueEmail = true
–>RequireUniqueEmail = false
- 未修改時會出現錯誤
2. 登入
2-1. 登入畫面
Views/Login.cshtml
Email –> Username
2-2. 修改 登入 Model
Models/AccountViewModel.cs 的 LoginViewModel 類別
Email
–>Username
Display(Name="Email")
–>Display(Name="Username")
- 移除
[EmailAddress]
2-3. 登入功能
Contrllers/AccountController.cs 的 login 方法
model.Email
–>model.Username
完成修改
註冊
登入
心得
登入的帳號從 Email
改為 Username
,改動範圍並不大,也沒什麼機會瞭解到 ASP.NET Identity
,接下來再找時間來做一些測試修改,好好瞭解 ASP.NET Identity
吧
文章作者 Yowko Tsai
上次更新 2021-11-03
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。