如何在身份 2 中使用电子邮件登录? [英] How to login using email in identity 2?
问题描述
在 MVC5 Identity 2 SignInManager.PasswordSignInAsync 中,使用用户名进行登录.
In MVC5 Identity 2 SignInManager.PasswordSignInAsync take user name for login.
var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
但我的用户名和电子邮件不一样.但我想用电子邮件地址登录.那么我该怎么做呢?谢谢
but my user name and email are not same. but i want to email address for login.So how can i do that? Thanks
推荐答案
通过电子邮件从 UserManager 获取用户.
Get user from UserManager by email.
var user = UserManager.FindByEmail(email);
然后使用 SignInManager 的 PasswordSignInAsync 和用户的用户名
Then use SignInManager's PasswordSignInAsync with user's Username
var result = await SignInManager
.PasswordSignInAsync(user.UserName,password,isPersistent,shouldLockout);
或在您的 SignInManager 中添加此方法(ASP.NET Identity 讨论)
Or inside your SignInManager add this method (ASP.NET Identity discussion)
public async Task<SignInStatus> PasswordEmailSignInAsync(string email, string password, bool isPersistent, bool shouldLockout)
{
var user = UserManager.FindByEmail(email);
return await PasswordSignInAsync(user.UserName,password,isPersistent,shouldLockout);
}
然后使用与 PasswordSignInAsync 相同的方法,但使用用户电子邮件而不是用户名.
Then use it same as PasswordSignInAsync but with user email instead of usermane.
这篇关于如何在身份 2 中使用电子邮件登录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!