如下面的代码所示,能够使用用户名和密码登录。
public class RepositoryUserAccount : IRepositoryUserAccount
{
private readonly SignInManager<ApplicationUser> _signInManager;
public RepositoryUserAccount(SignInManager<ApplicationUser> signInManager)
{
_signInManager = signInManager;
}
public async Task<ApplicationUser> LogIn(LogOnModel logOnModel)
{
var result = await _signInManager.PasswordSignInAsync(logOnModel.Username, logOnModel.Password, false, lockoutOnFailure: false);
}
}
在 _signInManager.PasswordSignInAsync()中,如果我发送用户名和密码,则返回true,但是我需要使用电子邮件ID和密码登录。我们该怎么做?
注意:如果我发送logOnModel.Email而不是logOnModel.Username,则会收到诸如无效用户数据之类的错误消息。