/// <summary> /// 密码登录 /// </summary> /// <param name="user">用户</param> /// <param name="password">密码</param> /// <param name="isPersistent">cookie是否持久保留,设置为false,当关闭浏览器则cookie失效</param> /// <param name="lockoutOnFailure">达到登录失败次数是否锁定</param> public async Task <SignInResult> PasswordSignInAsync(TUser user, string password, bool isPersistent = false, bool lockoutOnFailure = true) { var result = await IdentitySignInManager.PasswordSignInAsync(user, password, isPersistent, lockoutOnFailure); if (result.Succeeded) { return(SignInResult.Succeeded); } if (result.RequiresTwoFactor) { return(SignInResult.TwoFactor); } if (result.IsNotAllowed) { throw new Warning(SecurityResource.UserIsDisabled); } if (result.IsLockedOut) { throw new Warning(SecurityResource.LoginFailLock); } return(SignInResult.Failed); }
/// <summary> /// 密码登录 /// </summary> private async Task <SignInResult> PasswordSignIn(TUser user, string password, bool isPersistent = false, bool lockoutOnFailure = true, string applicationCode = "") { await AddClaimsToUser(user, applicationCode); var signInResult = await IdentitySignInManager.PasswordSignInAsync(user, password, isPersistent, lockoutOnFailure); if (signInResult.IsNotAllowed) { throw new Warning(SecurityResource.UserIsDisabled); } if (signInResult.IsLockedOut) { throw new Warning(SecurityResource.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, string.Empty)); }