kaptcha-spring-boot-starter

验证码快速启动器
授权协议 Apache
开发语言 Java
所属分类 Web应用开发、 验证码(Captcha)
软件类型 开源软件
地区 国产
投 递 者 壤驷安和
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

kaptcha-spring-boot-starter 基于 springBoot2.0 和 Google Kaptcha 的验证码组件,kaptcha-spring-boot-starter 可以很方便的集成验证码到你的系统中。

如何使用

引入 kaptcha-datasource-spring-boot-starter。

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>kaptcha-spring-boot-starter</artifactId>
  <version>1.0.0</version>
</dependency>

在Controller使用Kaptcha

@RestController
@RequestMapping("/kaptcha")
public class KaptchaController {

  @Autowired
  private Kaptcha kaptcha;

  @GetMapping("/render")
  public void render() {
    kaptcha.render();
  }

  @PostMapping("/valid")
  public void validDefaultTime(@RequestParam String code) {
    //default timeout 900 seconds
    kaptcha.validate(code);
  }

  @PostMapping("/validTime")
  public void validWithTime(@RequestParam String code) {
    kaptcha.validate(code, 60);
  }

}

发生错误会抛出异常,建议使用全局异常来处理。

KaptchaException  //super Exception

KaptchaIncorrectException

KaptchaNotFoundException

KaptchaTimeoutException

KaptchaRenderException //If something is wrong then Image.write when render.
import com.baomidou.kaptcha.exception.KaptchaException;
import com.baomidou.kaptcha.exception.KaptchaIncorrectException;
import com.baomidou.kaptcha.exception.KaptchaNotFoundException;
import com.baomidou.kaptcha.exception.KaptchaTimeoutException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

@RestControllerAdvice
public class GlobalExceptionHandler {

  @ExceptionHandler(value = KaptchaException.class)
  public String kaptchaExceptionHandler(KaptchaException kaptchaException) {
    if (kaptchaException instanceof KaptchaIncorrectException) {
      return "验证码不正确";
    } else if (kaptchaException instanceof KaptchaNotFoundException) {
      return "验证码未找到";
    } else if (kaptchaException instanceof KaptchaTimeoutException) {
      return "验证码过期";
    } else {
      return "验证码渲染失败";
    }

  }

}

自定义验证码参数,以下为默认配置。

kaptcha:
  height: 50
  width: 200
  content:
    length: 4
    source: abcdefghjklmnopqrstuvwxyz23456789
    space: 2
  font:
    color: black
    name: Arial
    size: 40
  background-color:
    from: lightGray
    to: white
  border:
    enabled: true
    color: black
    thickness: 1
  • 官方git kaptcha-spring-boot-starter example <!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>MyShop——登录</title> <link rel="stylesheet

  • ``` //@Configuration //public class KaptchaConfig { //    @Value("${youkol.web.kaptcha.config.kaptcha.image.width}") //    private String width; //    @Value("${youkol.web.kaptcha.config.kaptcha.image

  • 三个核心组件:Subject, SecurityManager 和 Realms。 Subject:即当前操作用户。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着“当前跟软件交互的东西。 Subject代表了当前用户的安全操作,SecurityManager则管理所有用户的安全操作。 Securit

  • Transaction 事务管理方式 在Spring中,事务有两种实现方式,分别是编程式事务管理和声明式事务管理两种方式。 编程式事务管理: 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。 声明式事务管理: 建立在AOP之上的。其本质是对

  • 主要思路:因为是前后端分离,所以后端生成的验证码不能通过session直接拿到,所以后端生成的验证码会保存在redis中,前端登录时带上key和value,后端根据Key去redis取值,再和前端传进来的value对比,完成验证码验证。 1、添加 kaptcha的引用 <dependency> <groupId>com.github.penggle</gro

  • 在重构maven的父子项目的时候,启动Jenkins报错了一些信息,记录如下: 17:23:45 [ERROR] ‘dependencies.dependency.version’ for com.baomidou:mybatis-plus-boot-starter:jar is missing. @ line 77, column 21 17:23:45 [ERROR] ‘dependencie

  • springboot 集成 kaptcha 验证码 1. 添加 maven 依赖 <!--kaptcha依赖包--> <dependency> <groupId>com.baomidou</groupId> <artifactId>kaptcha-spring-boot-starter</artifactId> <version>1.1.0</version> <

 相关资料
  • 本文向大家介绍SpringBoot集成kaptcha验证码,包括了SpringBoot集成kaptcha验证码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了SpringBoot集成kaptcha验证码的具体代码,供大家参考,具体内容如下 1.kaptcha相关介绍 Kaptcha是一个基于SimpleCaptcha的验证码开源项目。 2.集成方案 ①pom.xml中配置依赖 ②配置

  • 本文向大家介绍登陆验证码kaptcha结合spring boot的用法详解,包括了登陆验证码kaptcha结合spring boot的用法详解的使用技巧和注意事项,需要的朋友参考一下 前言 在我们用户登录的时候,为了安全性考虑,会增加验证码的功能,这里采用的是google的kaptcha;spirngboot是轻便,独立,使得基于spring的应用开发变得特别简单。网上有很多介绍springboo

  • 本文向大家介绍java下使用kaptcha生成验证码,包括了java下使用kaptcha生成验证码的使用技巧和注意事项,需要的朋友参考一下 kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小、颜色、显示的字符等等。下面就来讲一下如何使用kaptcha生成验证码以及在服务器端取出验证码进行校验。 一、搭建测试环境 1.1、创建Web测试项目   新建一个Web项目,并将k

  • Swoole的绝大部分功能只能用于cli命令行环境,请首先准备好Linux Shell环境。可使用vim、emacs、phpstorm或其他编辑器编写代码,并在命令行中通过下列指令执行程序。 php /path/to/your_file.php 成功执行Swoole服务器程序后,如果你的代码中没有任何echo语句,屏幕不会有任何输出,但实际上底层已经在监听网络端口,等待客户端发起连接。可使用相应的

  • 我需要在我的Spring API中验证一些json输入和输出,我试图使用Spring boot starter验证(已经知道这不在spring-boot-starter-web中,所以我手动添加了它),但是当基于DTO类中的验证出现错误时,它从不抛出异常(MethodArgumentNotValidException) 完整的项目可以在github上fonud 我所尝试的: > 我尝试添加以下3个

  • 我是修复协议的新手。我浏览了这个spring boot starter,我试图在其中熟悉它https://github.com/esanchezros/quickfixj-spring-boot-starter。 尽管客户机/启动器启动良好,但服务器/接受器应用程序却不能。我得到一个bean错误:我知道这个错误意味着什么,但是在定义bean时,我需要传入几个不同的构造函数arg,我不确定应该传入什