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

喜欢ヅ旅行 2022-09-12 06:51 468阅读 0赞

1 Kaptcha

1.1 Kaptcha简介

  1. 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依赖

  1. <!-- 验证码 -->
  2. <dependency>
  3. <groupId>com.baomidou</groupId>
  4. <artifactId>kaptcha-spring-boot-starter</artifactId>
  5. <version>1.1.0</version>
  6. </dependency>

3 Spring Boot配置

  1. #验证码宽度
  2. kaptcha.width=200
  3. #验证码高度
  4. kaptcha.height=50
  5. #验证码内容长度
  6. kaptcha.content.length=4
  7. #验证码内容源
  8. kaptcha.content.source=ABCDEFGHIJKLMNOPQRSTUVWXYZ2345678923456789
  9. #验证码内容间隔
  10. kaptcha.content.space=2
  11. #验证码字体名称
  12. kaptcha.font.name=Arial
  13. #验证码字体大小
  14. kaptcha.font.size=40
  15. #验证码字体颜色
  16. kaptcha.font.color=black
  17. #验证码背景颜色(开始颜色)
  18. kaptcha.background-color.from=lightGray
  19. #验证码背景颜色(结束颜色)
  20. kaptcha.background-color.to=white
  21. #验证码是否显示边框
  22. kaptcha.border.enabled=true
  23. #验证码边框颜色
  24. kaptcha.border.color=black
  25. #验证码边框厚度
  26. kaptcha.border.thickness=1

4 调试代码

  1. package com.controller;
  2. import com.baomidou.kaptcha.Kaptcha;
  3. import com.baomidou.kaptcha.exception.KaptchaIncorrectException;
  4. import com.baomidou.kaptcha.exception.KaptchaNotFoundException;
  5. import com.baomidou.kaptcha.exception.KaptchaTimeoutException;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.web.bind.annotation.GetMapping;
  8. import org.springframework.web.bind.annotation.RequestParam;
  9. import org.springframework.web.bind.annotation.RestController;
  10. @RestController
  11. public class KaptchaController {
  12. @Autowired
  13. private Kaptcha kaptcha;
  14. /**
  15. * 获取Kaptcha验证码
  16. */
  17. @GetMapping("/getKaptchaImg")
  18. public void getKaptchaImg() {
  19. //默认900秒
  20. kaptcha.render();
  21. }
  22. /**
  23. * 验证验证码
  24. *
  25. * @param code 验证码
  26. * @return
  27. */
  28. @GetMapping("/validCode")
  29. public String validCode(@RequestParam String code) {
  30. try {
  31. kaptcha.validate(code);
  32. } catch (Exception e) {
  33. if (e instanceof KaptchaIncorrectException) {
  34. return "验证码不正确";
  35. } else if (e instanceof KaptchaNotFoundException) {
  36. return "验证码未找到";
  37. } else if (e instanceof KaptchaTimeoutException) {
  38. return "验证码过期";
  39. } else {
  40. return "验证码渲染失败";
  41. }
  42. }
  43. return "验证通过";
  44. }
  45. }

5 调试结果

5.1 生成验证码

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pet5Lic5oCq_size_13_color_FFFFFF_t_70_g_se_x_16

5.2 验证验证码

5.2.1 验证通过

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pet5Lic5oCq_size_20_color_FFFFFF_t_70_g_se_x_16

5.2.2 验证码不存在

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pet5Lic5oCq_size_20_color_FFFFFF_t_70_g_se_x_16 1

发表评论

表情:
评论列表 (有 0 条评论,468人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Kaptcha生成图片验证

    Kaptcha简介 kaptcha 是一个很有用的验证码生成工具。由于它是可配置的,有了它,你能够生成各种样式的验证码。 Kaptcha 是一个可高度配置的实用验证码