gpt4 book ai didi

asp.net-mvc-5 - 让验证码插件与注册操作一起使用

转载 作者:行者123 更新时间:2023-12-01 12:37:17 25 4
gpt4 key购买 nike

我有登录部分,注册页面清楚地显示了验证码,RecaptchaMVC5 的 .dll表示 AccountController 不包含 verifyReCAPTCHA 的定义,但它适用于登录部分:

例子:

登录正常:

 [HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
// Verify the recaptcha response.
ReCaptchaResponse response = await this.verifyReCAPTCHA(model, "key", true);
if (response.Success)
{
var user = await UserManager.FindAsync(model.UserName, model.Password);
if (user != null)
{
await SignInAsync(user, model.RememberMe);
return RedirectToLocal(returnUrl);
}
else
{
ModelState.AddModelError("", "Invalid username or password.");
}
}
else
{
ModelState.AddModelError("", "Invalid Captcha Code!");
}
}

// If we got this far, something failed, redisplay form
return View(model);
}

我的注册模型在 verifyReCAPTCHA 上抛出错误:

       [HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
//Verify the recaptcha response.
ReCaptchaResponse response = await this.verifyReCAPTCHA(model, "key", true);
if (response.Success)
{
var user = new ApplicationUser() { UserName = model.UserName };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInAsync(user, isPersistent: false);
return RedirectToAction("Index", "Home");
}
else
{
AddErrors(result);
}
}
}
// If we got this far, something failed, redisplay form
return View(model);
}

我得到的错误

错误 1 ​​'ReCaptchaMVC5Test.Controllers.AccountController' 不包含 'verifyReCAPTCHA' 的定义

最佳答案

在Models文件夹里面> AccountViewModels.cs里面有

public class LoginViewModel : ReCaptchaViewModel

public class RegisterViewModel : <Place 'RecaptchaViewModel' Here>

这就是将验证码的 View 模型分配给其他模型的方式

关于asp.net-mvc-5 - 让验证码插件与注册操作一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28568817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com