/// <summary> /// 密码登录 /// </summary> /// <param name="user">用户</param> /// <param name="password">密码</param> /// <param name="isPersistent">cookie是否持久保留,设置为false,当关闭浏览器则cookie失效</param> /// <param name="lockoutOnFailure">达到登录失败次数是否锁定</param> private async Task <SignInResult> PasswordSignIn(TUser user, string password, bool isPersistent = false, bool lockoutOnFailure = true) { var signInResult = await IdentitySignInManager.PasswordSignInAsync(user, password, isPersistent, lockoutOnFailure); if (signInResult.IsNotAllowed) { return(new SignInResult(SignInState.Failed, null, SecurityResources.UserIsDisabled)); } if (signInResult.IsLockedOut) { return(new SignInResult(SignInState.Failed, null, SecurityResources.LoginFailLock)); } if (signInResult.Succeeded) { return(new SignInResult(SignInState.Succeeded, user.Id.SafeString())); } if (signInResult.RequiresTwoFactor) { return(new SignInResult(SignInState.TwoFactor, user.Id.SafeString())); } return(new SignInResult(SignInState.Failed, null, SecurityResources.InvalidAccountOrPassword)); }