Я пытаюсь реализовать Googles reCaptcha в моем MVC
ASP.net проекте, следуя инструкциям, приведенным в третьем ответе на этот пост, Как реализовать reCaptcha для ASP.NET MVC? .В настоящее время я скачал и включил правильные зависимости
using reCAPTCHA.MVC;
Мой метод входа выглядит так:
// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
[CaptchaValidator(
PrivateKey = "your private reCaptcha Google Key",
ErrorMessage = "Invalid input captcha.",
RequiredMessage = "The captcha field is required.")]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (!ModelState.IsValid)
{
return View(model);
}
// This doesn't count login failures towards account lockout
// To enable password failures to trigger account lockout, change to shouldLockout: true
var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);
switch (result)
{
case SignInStatus.Success:
return RedirectToLocal(returnUrl);
case SignInStatus.LockedOut:
return View("Lockout");
case SignInStatus.RequiresVerification:
return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
case SignInStatus.Failure:
default:
ModelState.AddModelError("", "Invalid login attempt.");
return View(model);
}
}
И, на мой взгляд, я добавляю капчу внутри моего:
@html.beginform(){
@Html.Recaptcha()
@Html.ValidationMessage("ReCaptcha")
}
У меня также есть открытый и закрытый ключи, добавленные в мой файл web.config
.Однако, когда я запускаю все на странице входа в систему, появляется окно captcha
, за исключением того, что некуда щелкнуть, и я получаю ОШИБКУ error
:
"для владельца сайта: сайт недействителенключ ", где должно быть поле для щелчка в поле капчи.
Кроме того, я попытался сбросить ключи, но все равно не повезло.