Asp.net

如何在 MVC 身份中使用“使用者名”而不是“電子郵件”登錄?

  • October 11, 2015

我需要將我的登錄設置為使用使用者名而不是電子郵件地址,我該如何更改?

它實際上使用電子郵件地址作為使用者名,因此在 ASPNetUsers 表中,您將看到使用者名和電子郵件欄位以及電子郵件地址。

進入 AccountController,查找 Register 方法 (POST)。

改變這個:

var user = new ApplicationUser { UserName = model.Email, Email = model.Email};

對此:

var user = new ApplicationUser
           {
               UserName = model.UserName,
               Email = model.Email
           };

然後進入 Login.cshtml 並將所有相應的電子郵件模型欄位更改為使用者名。

最後,進入 AccountController 中的 Login 方法 (POST) 並將 model.Email 更改為 model.UserName。

var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, 
            model.RememberMe, shouldLockout: false);

您還必須在 AccountViewModels.cs 中進行更改才能引入新的 UserName 屬性。

引用自:https://stackoverflow.com/questions/33069201