我遇到了两个似乎彼此相关的问题,stackoverflow中的其他重复项都没有回答我的问题。
首先当PasswordSignInAsync
方法执行它时,它将永远不会停止或抛出任何异常,只是继续执行:
var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);
第二次我想通过调用接收用户名和密码并返回用户信息的Web服务来验证用户,因此我覆盖了checkPasswordAsync
方法,但它永远不会被执行:
public class ApplicationUserManager : UserManager<ApplicationUser>
{
//...
public override async Task<bool> CheckPasswordAsync(ApplicationUser user, string password)
{
return await Task.Run(() =>
{
return (checkUsernameAndPassword(user.username,password));
});
}
//...
}
答案 0 :(得分:0)
试试吧。
ApplicationUser signedUser = UserManager.FindByEmail(model.Email);
var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);