文档章节

Kaptcha验证码生成器

吕兵阳
 吕兵阳
发布于 2017/07/24 10:32
字数 227
阅读 32
收藏 0
  <!-- kaptcha 验证码 -->
        <dependency>
            <groupId>com.github.axet</groupId>
            <artifactId>kaptcha</artifactId>
            <version>${kaptcha.version}</version>
        </dependency>
	<!-- Kaptcha验证码生成器 -->
	<bean id="captchaProducer" class="com.google.code.kaptcha.impl.DefaultKaptcha" scope="singleton">
	    <property name="config">
	        <bean class="com.google.code.kaptcha.util.Config">
	            <constructor-arg>
	                <props>
	                	<prop key="kaptcha.session.key">kaptcha.code</prop>  
	                	<!-- 无边框 -->
	                    <prop key="kaptcha.border">no</prop>
	                    <prop key="kaptcha.textproducer.font.color">black</prop>
	                    <!-- 渲染效果:水纹:WaterRipple;鱼眼:FishEyeGimpy;阴影:ShadowGimpy -->
	                    <prop key="kaptcha.obscurificator.impl">com.google.code.kaptcha.impl.WaterRipple</prop>
	                    <!-- 不要噪点 -->
	                    <prop key="kaptcha.noise.impl">com.google.code.kaptcha.impl.NoNoise</prop>
	                    <prop key="kaptcha.image.width">90</prop>
	                    <prop key="kaptcha.image.height">33</prop>
	                    <prop key="kaptcha.textproducer.font.size">25</prop>
	                    <prop key="kaptcha.textproducer.char.length">4</prop>
	                    <prop key="kaptcha.textproducer.char.space">5</prop>
	                    <!-- 和登录框背景颜色一致 -->
	                    <prop key="kaptcha.background.clear.from">247,247,247</prop>
	                    <prop key="kaptcha.background.clear.to">247,247,247</prop>
	                </props>
	            </constructor-arg>
	        </bean>
	    </property>
	</bean>

    /**
     * 验证码
     *
     * @param rsp
     * @param session
     */
    @RequestMapping(value = "captcha.html", method = RequestMethod.GET)
    public void kaptcha(HttpServletResponse rsp, HttpSession session) {
        try (ServletOutputStream out = rsp.getOutputStream()) {
            rsp.setDateHeader("Expires", 0);
            rsp.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
            rsp.addHeader("Cache-Control", "post-check=0, pre-check=0");
            rsp.setHeader("Pragma", "no-cache");
            rsp.setContentType("image/jpeg");

            String capText = captchaProducer.createText();
            //将验证码存入shiro 登录用户的session
            session.setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);
            BufferedImage image = captchaProducer.createImage(capText);
            ImageIO.write(image, "jpg", out);
            out.flush();
        } catch (IOException e) {
            throw new SystemException(e);
        }
    }

 

© 著作权归作者所有

共有 人打赏支持
吕兵阳
粉丝 87
博文 274
码字总数 104891
作品 0
郑州
后端工程师
私信 提问
011.Google验证码的使用

google kaptcha 验证码组件简单入门 在Java Web阶段或者SpringMVC阶段我们在做登录的时候都会建议使用验证码,这样是为了防止自动登录 1.Servlet版的配置说明 在web.xml中配置如下Servlet,代码...

胖先森
2017/11/28
0
0
springboot整合kaptcha验证码

前言: 关于kaptcha简介以及spring整合kaptcha,我在另一篇文章中已详细讲解,请参考:spring整合kaptcha验证码。 本文将介绍springboot整合kaptcha的两种方式。 开发工具及技术: 1、idea 2017...

贪挽懒月
05/10
0
0
Maven(四):定制库到Mave本地资源库 (Kaptcha)

首先简单介绍下Kaptcha: kaptcha是一个扩展子simplecaptcha的验证码库,在java编程中是一个非常实用的验证码生成工具。可以利用这个工具生成各种样式的验证码。虽说它是个流行的第三那方Jav...

牧羊人Berg
2016/03/06
820
0
算式验证码实现

效果图 项目结构 index.jsp check.jsp web.xml KaptchaServlet

动听的椰子
2016/07/26
19
0
baomidou/kaptcha-spring-boot-starter

kaptcha-spring-boot-starter 简介 kaptcha-spring-boot-starter 基于 springBoot2.0 和 Google Kaptcha 验证码组件,kaptcha-spring-boot-starter可以很方便的集成验证码到你的系统中。 如何...

baomidou
05/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯与Github的魔幻会面背后的故事…

10月22日,腾讯开源管理办公室有幸邀请到Github新晋CEO Nat Friedman,前来鹅厂参观交流。目前腾讯已经有近70个项目在Github上开源,共获得17w stars,世界排名11位。Github是腾讯开源的主阵...

腾讯开源
30分钟前
1
0
单例模式

单例模式(Singleton pattern)属于创建型设计模式。 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对...

NinjaFrog
35分钟前
1
0
TypeScript基础入门之装饰器(三)

转载 TypeScript基础入门之装饰器(三) 继续上篇文章[TypeScript基础入门之装饰器(二)] 访问器装饰器 Accessor Decorator在访问器声明之前声明。 访问器装饰器应用于访问器的属性描述符,可用...

durban
52分钟前
2
0
spring5调研学习(转载)

Spring框架的新功能 这一章主要提供Spring框架新的功能和变更。 升级到新版本的框架可以参考。Spring git。 内容列表 Spring 5.x框架新的功能 Spring 4.x框架新的功能 Spring 3.x框架新的功能...

小海bug
今天
2
0
为何Spring框架能这么流行?

想要学习更多关于Spring框架在Java开发者中如此流行?看这篇文章可以学到更多! Spring框架特性 Spring是用于应用开发中的一款强大,轻量级框架。更广泛地说,你可以认为Spring框架是一个定义...

java知识分子
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部