当前位置: 代码迷 >> 综合 >> 配置使用Google验证码
  详细解决方案

配置使用Google验证码

热度:100   发布时间:2023-10-26 07:18:34.0

加入谷歌验证码的maven依赖

        <dependency><groupId>com.github.axet</groupId><artifactId>kaptcha</artifactId><version>0.0.9</version></dependency>

spring配置文件中配置验证码属性

    <!--Google验证码--><bean id="producer" class="com.google.code.kaptcha.impl.DefaultKaptcha"><property name="config"><bean class="com.google.code.kaptcha.util.Config"><constructor-arg><props><!--边框--><prop key="kaptcha.border">no</prop><!--颜色--><prop key="kaptcha.textproducer.font.color">black</prop><!--字符数--><prop key="kaptcha.textproducer.char.space">5</prop></props></constructor-arg></bean></property></bean>

Controller

 @GetMapping("/captcha.do")public void captcha(HttpServletResponse response) throws IOException {// 不缓存response.setHeader("Cache-Control","no-store,no-cache");// 相应格式response.setContentType("image/jpeg");// 生成文字String imageText = producer.createText();// 生成图片BufferedImage image = producer.createImage(imageText);// 我是用的是shiroSession session = SecurityUtils.getSubject().getSession();session.setAttribute(Constants.KAPTCHA_SESSION_KEY,imageText);ServletOutputStream outputStream = response.getOutputStream();ImageIO.write(image,"jpeg",outputStream);outputStream.flush();}

JS刷新验证码

        function refreshImage() {$.get("sys/user/captcha.do",{},function (result) {$("#kaptcha").attr("src","sys/user/captcha.do");});}

 

  相关解决方案