asp.net - 如何在MVC标识中使用“UserName”而不是“Email”登录?



asp.net-mvc razor (1)

我需要设置我的登录名使用用户名,而不是电子邮件地址,我怎么能改变它?

https://ffff65535.com


它实际上是使用电子邮件地址作为用户名,因此在ASPNetUsers表中,您将看到包含电子邮件地址的用户名和电子邮件字段。

进入AccountController,找到注册方法(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属性。





asp.net-identity