Ann*_*nie 4 asp.net-mvc-5 asp.net-identity-2
在新创建的ASP.NET MVC5应用程序中,登录屏幕会要求您输入电子邮件地址.但在引擎盖下,它使用用户名进行身份验证,假设为applicationUser.UserName== applicationUser.Email.
如何更改它以使其通过电子邮件地址验证用户?
这似乎是他们在这方面已经改变了身份2.X的东西.
注意:我想通过电子邮件登录.
例如,在注册视图中,我们的用户需要提供:
电子邮件: last.first@example.com
用户:最后,第一
在登录期间,将使用该电子邮件.目前,它使用电子邮件但身份验证失败,因为它将电子邮件作为用户名传递.
在登录#帐户中:
后
if (!ModelState.IsValid)
{
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
我补充说:
var user = await UserManager.FindByEmailAsync(model.Email);
Run Code Online (Sandbox Code Playgroud)
并改变了:
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
Run Code Online (Sandbox Code Playgroud)
至:
var result = user == null ? SignInStatus.Failure : await SignInManager.PasswordSignInAsync(user.UserName, model.Password, model.RememberMe, shouldLockout: false);
Run Code Online (Sandbox Code Playgroud)
在注册视图中,我有用户名和电子邮件(我必须添加UserName属性RegisterViewModel).
| 归档时间: |
|
| 查看次数: |
2214 次 |
| 最近记录: |