/// <summary> /// 发送验证码前检查 /// </summary> /// <param name="input"></param> /// <returns></returns> private async Task PreSendCodeCheck(CodeSendInput input) { if (SettingManager.GetSettingValueForApplication <bool>(AppSettings.SMSManagement.UseCaptchaToVerification)) { await _captchaValidator.ValidateAsync(input.CaptchaResponse); } }
/// <summary> /// 检查验证码 /// </summary> /// <returns></returns> private async Task CheckCaptcha(RegisterTenantInput input) { var useCaptchaOnRegistration = SettingManager.GetSettingValueForApplication <bool>(AppSettings.TenantManagement.UseCaptchaOnRegistration); if (DebugHelper.IsDebug) { useCaptchaOnRegistration = false; } if (!useCaptchaOnRegistration) { return; } await _captchaValidator.ValidateAsync(input.CaptchaResponse); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); if (ModelState.IsValid) { if (!await _captchaValidator.ValidateAsync(Input.Captcha)) { ModelState.AddModelError(nameof(InputModel.Captcha), "Invalid captcha."); return(Page()); } // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, set lockoutOnFailure: true Microsoft.AspNetCore.Identity.SignInResult result = await _signInManager.PasswordSignInAsync(Input.Email, Input.Password, Input.RememberMe, lockoutOnFailure : true); if (result.Succeeded) { _logger.LogInformation("User logged in."); return(LocalRedirect(returnUrl)); } if (result.RequiresTwoFactor) { return(RedirectToPage("./LoginWith2fa", new { ReturnUrl = returnUrl, Input.RememberMe })); } if (result.IsLockedOut) { _logger.LogWarning("User account locked out."); return(RedirectToPage("./Lockout")); } else { ModelState.AddModelError(string.Empty, "Invalid login attempt."); return(Page()); } } // If we got this far, something failed, redisplay form return(Page()); }