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,我不确定应该传入什