且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在身份 2 中使用电子邮件登录?

更新时间:2022-05-23 22:43:56

通过电子邮件从 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.