Java验证码 Kaptcha

古城微笑少年丶 2021-11-10 01:12 495阅读 0赞

Java验证码 Kaptcha

  • maven依赖
  • KaptchaConfig配置
  • 访问效果

maven依赖

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.1.3.RELEASE</version>
  5. <relativePath />
  6. </parent>
  7. <properties>
  8. <maven.compiler.source>1.8</maven.compiler.source>
  9. <maven.compiler.target>1.8</maven.compiler.target>
  10. <springboot.version>2.1.3.RELEASE</springboot.version>
  11. </properties>
  12. <dependency>
  13. <groupId>org.springframework.boot</groupId>
  14. <artifactId>spring-boot-starter-freemarker</artifactId>
  15. </dependency>
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. <dependency>
  21. <groupId>com.baomidou</groupId>
  22. <artifactId>kaptcha-spring-boot-starter</artifactId>
  23. <version>1.0.0</version>
  24. </dependency>

KaptchaConfig配置

  1. @Configuration
  2. public class KaptchaConfig {
  3. @Bean
  4. public Kaptcha Kaptcha() {
  5. return new GoogleKaptcha(defaultKaptcha());
  6. }
  7. @Bean
  8. public DefaultKaptcha defaultKaptcha() {
  9. DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
  10. Properties properties = new Properties();
  11. properties.setProperty("kaptcha.border", "yes");
  12. properties.setProperty("kaptcha.border.color", "105,179,90");
  13. properties.setProperty("kaptcha.textproducer.font.color", "blue");
  14. properties.setProperty("kaptcha.image.width", "125");
  15. properties.setProperty("kaptcha.image.height", "45");
  16. properties.setProperty("kaptcha.session.key", "code");
  17. properties.setProperty("kaptcha.textproducer.char.length", "4");
  18. properties.setProperty("kaptcha.textproducer.font.names", "宋体,楷体,微软雅黑");
  19. Config config = new Config(properties);
  20. defaultKaptcha.setConfig(config);
  21. return defaultKaptcha;
  22. }
  23. }
  24. @RestController
  25. @RequestMapping("/kaptcha")
  26. public class KaptchaController {
  27. @Autowired
  28. private Kaptcha kaptcha;
  29. @GetMapping("/render")
  30. Object render() {
  31. String render = kaptcha.render();
  32. System.err.println("render=" + render);
  33. return render;
  34. }
  35. @GetMapping("/valid")
  36. Object validDefaultTime(@RequestParam String code) {
  37. boolean validate = kaptcha.validate(code);
  38. System.err.println("validate=" + validate);
  39. return validate;
  40. }
  41. @GetMapping("/validTime")
  42. Object validWithTime(@RequestParam String code) {
  43. boolean validate = kaptcha.validate(code, 60);
  44. System.err.println("validate=" + validate);
  45. return validate;
  46. }
  47. }

访问效果

http://localhost:8080/kaptcha/render
在这里插入图片描述
校验:
http://ip:8080/kaptcha/valid?code=yj96
校验成功返回: ture
校验失败:报错
第一次校验成功后再次校验也会报错

发表评论

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

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

相关阅读