Ответ 1
Получить пользователя из UserManager по электронной почте.
var user = UserManager.FindByEmail(email);
Затем используйте SignInManager PasswordSignInAsync с именем пользователя
var result = await SignInManager
.PasswordSignInAsync(user.UserName,password,isPersistent,shouldLockout);
Или внутри вашего SignInManager добавьте этот метод (Обсуждение ASP.NET Identity)
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, но с электронной почтой пользователя вместо usermane.