0
我有两个问题似乎是相互关联,并没有其他重复在stackoverflow是我的问题的答案。MVC Owin Identity 2 CheckPasswordAsync()将不会执行
首先当PasswordSignInAsync
方法执行它永远不会停止或抛出任何异常,它只是继续执行:通过调用接收的用户名和密码登录网络服务
var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);
二我想验证用户并返回用户信息,所以我覆盖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));
});
}
//...
}
试试这个:'等待SignInManager.SignInAsync(model.UserName,true,true);'它至少完成了吗? – Codexer
你是否对用户名进行了双重检查? – Codexer
'ApplicationUser signedUser = UserManager.FindByEmail(model.Email);'然后'var result = await SignInManager.PasswordSignInAsync(signedUser.UserName,model.Password,model.RememberMe,shouldLockout:false);' – Codexer