gpt4 book ai didi

java - 在 grails 1.3.7 中使用 jcaptcha 插件时出错

转载 作者:行者123 更新时间:2023-12-01 15:43:31 26 4
gpt4 key购买 nike

您好,我在尝试将 jcaptcha 插件与 grails 1.3.7 一起使用时遇到以下错误。

org.codehaus.groovy.runtime.typehandling.GroovyCastException:
Cannot cast object '{}' with class 'groovy.util.ConfigObject' to class 'com.octo.captcha.service.CaptchaService' due to:
groovy.lang.GroovyRuntimeException: Could not find matching constructor for: com.octo.captcha.service.CaptchaService(groovy.util.ConfigObject)
at org.grails.plugin.jcaptcha.JcaptchaService.getCaptchaService(JcaptchaService.groovy:42)
at org.grails.plugin.jcaptcha.JcaptchaService$$FastClassByCGLIB$$98874858.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.grails.plugin.jcaptcha.JcaptchaService$$EnhancerByCGLIB$$468f85f9.getCaptchaService(<generated>)
at org.grails.plugin.jcaptcha.JcaptchaService$getCaptchaService.call(Unknown Source)
at org.grails.plugin.jcaptcha.JcaptchaController$_closure1.doCall(JcaptchaController.groovy:29)
at org.grails.plugin.jcaptcha.JcaptchaController$_closure1.doCall(JcaptchaController.groovy)
at java.lang.Thread.run(Thread.java:619)

任何有关相同内容的指示都会非常有帮助。提前致谢。

最佳答案

jcaptchaService.validateResponse 期望像“captcha1”这样的字符串(如果您在 Config.groovy 中这样命名您的验证码)作为第一个参数来识别要使用的验证码实例。

Config.groovy 示例:

...
captchas {
captcha1 = new GenericManageableCaptchaService(...)
}
...

对于 View ,请使用如下验证码:

<jcaptcha:jpeg name="captcha1" /> ...
<g:textField name="user_typed_captcha" value="" />

在 Controller 中类似这样的东西:

if(jcaptchaService.validateResponse("captcha1", session.id, params.user_typed_captcha)) {
log.info("CAPTCHA WAS VALID!")
} else {
log.info("CAPTCHA WAS NOT VALID!")
}

这应该可以解决您在 Controller 中使用 jcaptcha 的问题。

对我来说,在 CommandObjects 中使用 jcaptchaService 并没有成功。我认为原因是验证方法由于某种原因被调用了两次,这使得捕获无效。我用的是 Grails 1.3.7。

关于java - 在 grails 1.3.7 中使用 jcaptcha 插件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7594612/

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