grails验证码插件-JCaptcha

2024-04-04 00:08

本文主要是介绍grails验证码插件-JCaptcha,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、安装

grails install-plugin jcaptcha

 2、现在Config.groovy文件中定义验证码图片样式

Config文件结构:

log4j {
/* log4j config */
}
jcaptchas {
//captcha1 图片的id
captcha1 = … 
captcha2 = … 
}

 一个Example:

jcaptchas {
Random random = new Random(new Date().getTime());
imageCaptcha = new GenericManageableCaptchaService(
new GenericCaptchaEngine(
new GimpyFactory(
//随机字符范围
new RandomWordGenerator(
"加减乘除abcdefghjklmnopqOPQARSTS"
),
new ComposedWordToImage(
//字体
new RandomFontGenerator(
20, // min font size
30, // max font size
[new Font("宋体", 0, 10)] as Font[]
),
//图片背景
new GradientBackgroundGenerator(
200, // width
100, // height
new SingleColorGenerator(new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255))),
new SingleColorGenerator(new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255)))
),
//字符颜色个数限制
new NonLinearTextPaster(
1, // minimal length of text
4, // maximal length of text
new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255))
)
)
)
),
180, // minGuarantedStorageDelayInSeconds
180000 // maxCaptchaStoreSize
)
}

 3、标签引用:

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head><title>Simple GSP page</title></head>
<body>
<g:form controller="validate" action="valid">
<!--name与config.groovy中定义的一致 -->
<jcaptcha:jpeg name="imageCaptcha"/>
<label>
<input type="text" name="code" value=""/>
</label>
<input type="submit" value="提交"/>
</g:form>
</body>
</html>

 4、验证输入是否正确:

在Controller中定义

package demo
class ValidateController {
//这个是注入的
def jcaptchaService;
def index = {
redirect(action: "valid")
}
def valid = {
println params
println session.id
if (params.size() == 2) {
return render(view: 'code');
}
/*
这里的try catch 是为了防止重复提交,重复提交会报错误
*/
try {
/*
三个参数:name(标签中的name),session.id这个是固定的,用户输入的内容
*/
if (!jcaptchaService.validateResponse("imageCaptcha", session.id, params.code)) {
flash.message = "错误"
} else {
flash.message = "正确"
}
} catch (Exception e) {
log.error(e.message);
flash.message = "拒绝重复提交"
}
return render(view: "message");
}
}

这篇关于grails验证码插件-JCaptcha的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/874334

相关文章

Spring 验证码(kaptcha)

首先引入需要的jar包: <dependency><groupId>com.github.axet</groupId><artifactId>kaptcha</artifactId><version>0.0.9</version></dependency> 配置验证码相关设置: <bean id="captchaProducer" class="com.

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

eclipse安装subversion(SVN)版本控制插件

陈科肇 查看插件更新站点 网址:http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA 网站截图: 根据自己的eclipse版本,选择需要的更新站点. 使用eclipse集成subservion插件 Help > Install New Software…> 等待下载安装插件…

Weex入门教程之2,Android Studio安装Weex插件

插件位置及描述 https://plugins.jetbrains.com/idea/plugin/8460-weex 貌似对windows还不是很支持,先放着吧。 安装 插件功能 先预览下都有什么功能 安装完成Weex插件后,如果在main toolbar找不到这些功能图标,那么就需要手动添加到main toolbar 添加到main toolbar 红框内就是

mybatis框架基础以及自定义插件开发

文章目录 框架概览框架预览MyBatis框架的核心组件MyBatis框架的工作原理MyBatis框架的配置MyBatis框架的最佳实践 自定义插件开发1. 添加依赖2. 创建插件类3. 配置插件4. 启动类中注册插件5. 测试插件 参考文献 框架概览 MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射,为开发者提供了极大的灵活性和便利性。以下是关于M

PrestaShop免费模块/插件/扩展/工具下载

PrestaShop免费模块/插件/扩展/工具下载 PrestaShop免费模块 适用于您的电子商务网站的PrestaShop模块 现有超过3,000个PrestaShop模块可帮助您自定义在线商店,增加流量,提高转化率并建立客户忠诚度。 使您的电子商务网站成功! 下载(超过142+之多的PrestaShop官网认证的免费模块) 标签PrestaShop免费, PrestaShop免费工

zblog自定义关键词和描述,zblog做seo优化必备插件

zblog自定义关键词和描述,zblog做seo优化必备插件     首先说下用到的一款插件:CustomMeta自定义数据字段 ,我们这里用到的版本是1.1,1.1+版增加了列表页标签支持!     插件介绍:文章,分类等添加自定义数据字段。1.1+版适用于 Z-Blog 2.0 B2以上版本。     在zblog2.0beta1里面,这个插件是集成到了程序里面,beta2里面默认没有了

插件maven-search:Maven导入依赖时,使用插件maven-search拷贝需要的依赖的GAV

然后粘贴: <dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>8.0.26</version> </dependency>