kaptcha-spring-boot-starter 验证码快速启动器开源项目

我要开发同款
匿名用户2018年05月05日
48阅读
开发技术Java
所属分类Web应用开发、验证码(Captcha)
授权协议Apache

作品详情

kaptcha-spring-boot-starter基于springBoot2.0和GoogleKaptcha的验证码组件,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 ExceptionKaptchaIncorrectExceptionKaptchaNotFoundExceptionKaptchaTimeoutExceptionKaptchaRenderException //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;@RestControllerAdvicepublic 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
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论