MVC Owin Identity 2 CheckPasswordAsync()将不会执行

时间:2017-06-13 04:43:19

标签: authentication asp.net-mvc-5 asp.net-identity owin

我遇到了两个似乎彼此相关的问题,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));
            });
        }
    //...
    }

1 个答案:

答案 0 :(得分:0)

试试吧。

ApplicationUser signedUser = UserManager.FindByEmail(model.Email);
var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);