ASP.net MVC C # Recaptcha на личность Войти - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь реализовать 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:

"для владельца сайта: сайт недействителенключ ", где должно быть поле для щелчка в поле капчи.

Кроме того, я попытался сбросить ключи, но все равно не повезло.

1 Ответ

0 голосов
/ 15 мая 2018

вы можете получить ответ в контроллере

var response = Request ["g-recaptcha-response"];

вы можете легко внедрить reCaptcha, который я нашелпример в поиске, я надеюсь, это поможет

https://www.codeproject.com/articles/874150/google-recaptcha-in-asp-net-mvc

...