【转发】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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2019-06-20 百度地图API--百度地图底色选择
2019-06-20 如何在网中使用百度地图API自定义个性化地图
2019-06-20 百度地图个性化模板列表
2019-06-20 echart纵坐标标签特别长换行显示
2019-06-20 ECharts3D地图(详细示例——附有具体注释)
2019-06-20 Echarts4+EchartsGL 3D迁徙图(附源码)
2019-06-20 postgresql数据库的 to_date 和 to_timestamp 将 字符串转换为时间格式