在SpringSide 3 中使用JCaptcha
2009-09-22 00:00:00 来源:WEB开发网3、在所有需要显示验证图片的JSP文件中使用如下代码:
<img id="captchaImage" src="http://tech.ddvip.com/2009-09/${ctx}/security/jcaptcha.jpg" width="100" height="40" align="middle" >(如看不清,可点击图片更换)
这里的onclick函数主要是为了实现点击图片更换的效果,其代码如下:
function onImageClick(o){
o.src = "/PureText/security/jcapthcha.jpg?update=" + Math.random();
}
这时候,符合SpringSecurity要求的登录界面就会自动验证用户的输入了。
但是,我们并不是只有登录这一个地方需要使用验证图片,在用户注册、发表文章等这些地方都需要用到,而且为了不让用户离开输入界面,一般使用AJAX,这时候怎么办呢?不使用Filter,我们依然可以手动验证,如下代码片断,则是在Action类中截取的:
// 验证cpatchaImage
boolean flag = false;
try {
HttpServletRequest request = Struts2Utils.getRequest();
String captchaID = request.getSession().getId();
String captchaValue = request.getParameter("captchaValue");
ApplicationContext context = WebApplicationContextUtils
.getWebApplicationContext(Struts2Utils.getSession()
.getServletContext());
CaptchaService captchaService = (CaptchaService) context
.getBean("captchaService");
flag = captchaService
.validateResponseForID(captchaID, captchaValue);
} catch (Exception e) {
flag = false;
}
if (!flag) {
success = false;
result += "captcha_err.innerHTML='验证码输入错误。';";
} else {
result += "captcha_err.innerHTML='';";
}
if (success == false) {
result += "failed();";
Struts2Utils.renderHtml(result, "encoding:UTF-8");
就这么简单。祝大家愉快!
Tags:SpringSide 使用 JCaptcha
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接