在SpringSide 3 中操纵JCaptcha[Java编程]
本文“在SpringSide 3 中操纵JCaptcha[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在目前的网络上,想必大家对考证图片已经司空见惯了.考证图片是辨别人和计算机的一种既有效又简单的办法.为了提高网站的安全性,避免黑客操纵计算机举行暴力破解和避免黑客利用程序自动提交大量垃圾信息,在我们的网站中引入考证码机制是必要的.
在SpringSide 3的Showcase中,江南白衣演示了JCaptcha.Captcha是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动辨别计算机和人类的图灵测试)的简称,而JCaptcha是一个在该理论下的基于Java的一个实现.我终于开始看Showcase中的一些特点了,下面来谈谈把JCaptcha集成到项目中的一些设法.
首先要把以下四个jar包拷贝到项目中:
jcaptcha-1.0.jar
jcaptcha-api-1.0.jar
imaging-01012005.jar
springside3-jee-3.1.5.jar
以上四个jar文件前两个不用我多注释,imaging-01012005.jar是必必要的,因为它供应了JCaptcha需求的 WaterFilter类,而springside3-jee-3.1.5.jar里面包含的就是SpringSide 3对JCaptcha的扩大.SpringSide 3对JCaptcha做了哪些扩大呢?主要表目前两个方面:一是编写了一个Filter,用来配合SpringSecurity,二是实现了一个图片生成引擎,即GMailEngine.
事实上,JCaptcha是可以直接利用的,即直接利用CaptchaService类来生成和考证图片中的信息,而CaptchaService可以利用Spring管理;但是一旦和SpringSecurity配合起来利用就对比麻烦了,因为我们不大概去改正SpringSecurity的代码,所以就只能在web.xml中配置Filter了.但是在不和SpringSecurity配合的情形下,我们还是少不了直接利用 CaptchaService类,因为Filter是定制死了的,不机动,假如我们要返回供AJAX利用的字符串,就必须得自己写代码.
好了,下面看看具体步骤.
1、先在Spring的配置文件中配置CaptchaService的Bean,以下:
<!--JCaptcha考证码服务 -->
<bean id="captchaService" class="com.octo.captcha.service.image.DefaultManageableImageCaptchaService">
<property name="captchaEngine">
<bean class="org.springside.modules.security.jcaptcha.GMailEngine" />
</property>
<property name="minGuarantedStorageDelayInSeconds" value="600" />
</bean>
2、在web.xml中配置Filter,以下:
<!-- SpringSide's JCaptcha filter -->
<filter>
<filter-name>jcaptchaFilter</filter-name>
<filter-class>org.springside.modules.security.jcaptcha.JCaptchaFilter</filter-class>
<init-param>
<param-name>failureUrl</param-name>
<param-value>/login.action?error=2</param-value>
</init-param>
</filter>
<!-- jcaptcha图片生成URL. -->
<filter-mapping>
<filter-name>jcaptchaFilter</filter-name>
<url-pattern>/security/jcaptcha.jpg</url-pattern>
</filter-mapping>
<!-- jcaptcha登录表单处理URL.
必须放在springSecurityFilter的filter-mapping定义之前 -->
<filter-mapping>
<filter-name>jcaptchaFilter</filter-name>
<url-pattern>/j_spring_security_check</url-pattern>
</filter-mapping>
以上是“在SpringSide 3 中操纵JCaptcha[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |