【转发】Spring Boot 配置Kaptcha(谷歌验证码工具)(生成验证码、验证验证码)

来自https://blog.csdn.net/qq_38974638/article/details/120417679 

Spring Boot
55 篇文章 5 订阅
订阅专栏
1 Kaptcha
1.1 Kaptcha简介

        Kaptcha 是一个扩展自simplecaptcha的验证码库,默认情况下,Kaptcha非常易于设置和使用,并且默认输出会产生一个很难验证的验证码。默认情况下,它生成的验证码看起来与上面的非常相似。如果您想更改输出的外观,则有几个配置选项,并且该框架是模块化的,因此您可以编写自己的变形代码。
1.2 Kaptcha详细配置表
Kaptcha常用属性
序号    属性名    描述    示例
1    kaptcha.width    验证码宽度    200
2    kaptcha.height    验证码高度    50
Kaptcha border(边框)属性
序号    属性名    描述    示例
1    kaptcha.border.enabled    是否显示边框    true
2    kaptcha.border.color    边框颜色    black
3    kaptcha.border.thickness    边框厚度    2
Kaptcha content(文本)属性
序号    属性名    描述    示例
1    kaptcha.content.length    验证码文本长度    5
2    kaptcha.content.source    文本源    abcde2345678gfynmnpwx
3    kaptcha.content.space    文本间隔    2
Kaptcha font(字体)属性
序号    属性名    描述    示例
1    kaptcha.font.name    字体名称    Arial
2    kaptcha.font.size    字体大小    40
3    kaptcha.font.color    字体颜色    black
Kaptcha background-color(背景颜色)属性
序号    属性名    描述    示例
1    kaptcha.background-color.from    背景颜色(开始渐变色)    lightGray
2    kaptcha.background-color.to    背景颜色(结束渐变色)    white
2 Maven依赖

            <!-- 验证码 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>kaptcha-spring-boot-starter</artifactId>
                <version>1.1.0</version>
            </dependency>

3 Spring Boot配置

    #验证码宽度
    kaptcha.width=200
    #验证码高度
    kaptcha.height=50
    #验证码内容长度
    kaptcha.content.length=4
    #验证码内容源
    kaptcha.content.source=ABCDEFGHIJKLMNOPQRSTUVWXYZ2345678923456789
    #验证码内容间隔
    kaptcha.content.space=2
    #验证码字体名称
    kaptcha.font.name=Arial
    #验证码字体大小
    kaptcha.font.size=40
    #验证码字体颜色
    kaptcha.font.color=black
    #验证码背景颜色(开始颜色)
    kaptcha.background-color.from=lightGray
    #验证码背景颜色(结束颜色)
    kaptcha.background-color.to=white
    #验证码是否显示边框
    kaptcha.border.enabled=true
    #验证码边框颜色
    kaptcha.border.color=black
    #验证码边框厚度
    kaptcha.border.thickness=1

4 调试代码

    package com.controller;
     
    import com.baomidou.kaptcha.Kaptcha;
    import com.baomidou.kaptcha.exception.KaptchaIncorrectException;
    import com.baomidou.kaptcha.exception.KaptchaNotFoundException;
    import com.baomidou.kaptcha.exception.KaptchaTimeoutException;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
     
    @RestController
    public class KaptchaController {
        @Autowired
        private Kaptcha kaptcha;
     
        /**
         * 获取Kaptcha验证码
         */
        @GetMapping("/getKaptchaImg")
        public void getKaptchaImg() {
            //默认900秒
            kaptcha.render();
        }
     
        /**
         * 验证验证码
         *
         * @param code 验证码
         * @return
         */
        @GetMapping("/validCode")
        public String validCode(@RequestParam String code) {
            try {
                kaptcha.validate(code);
            } catch (Exception e) {
                if (e instanceof KaptchaIncorrectException) {
                    return "验证码不正确";
                } else if (e instanceof KaptchaNotFoundException) {
                    return "验证码未找到";
                } else if (e instanceof KaptchaTimeoutException) {
                    return "验证码过期";
                } else {
                    return "验证码渲染失败";
                }
            }
            return "验证通过";
        }
    }

5 调试结果
5.1 生成验证码

 

 


5.2 验证验证码
5.2.1 验证通过

 

 


 
5.2.2 验证码不存在

 

 

 


————————————————
版权声明:本文为CSDN博主「旭东怪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38974638/article/details/120417679

posted @ 2022-06-20 13:44  疯子110  阅读(1348)  评论(0编辑  收藏  举报