ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-06-20 14:04:35  阅读:108  来源: 互联网

标签:kaptcha color Spring Boot 验证码 Kaptcha import font


来自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

标签:kaptcha,color,Spring,Boot,验证码,Kaptcha,import,font
来源: https://www.cnblogs.com/telwanggs/p/16392961.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有