View on GitHub

captcha

CAPTCHA 是一个基于 Spring Boot 框架的验证码框架,它通过 AOP 的方式完成包含验证码生成、发送、存储等验证码相关业务,以避免与业务代码耦合。目前提供邮箱验证码、短信验证码、图像验证码、谷歌 reCAPTCHA。

redis-store

Sonatype Nexus (Snapshots) Sonatype Nexus (Snapshots)

简介

redis-storeCAPTCHA 项目的一个拓展,提供基于 Redis 的验证码存储服务。

添加依赖

在 Maven 项目的 pom.xml 文件中添加依赖:

<dependency>
    <groupId>cn.dustlight.captcha</groupId>
    <artifactId>redis-store</artifactId>
    <version>1.0.1</version>
</dependency>

配置全局默认

全局默认使用 Redis 进行验证码存储。

配置 application.yaml:

# 配置 Redis
spring:
  redis:
    host: <REDIS_HOST> # Redis Host
    port: <REDIS_PORT> # Redis Port

# 配置 CAPTCHA
dustlight:
  captcha:
    default:
      store:
        name: "redisCodeStore" # 设置默认验证码存储器(Bean名称)
    store:
      redis:
        key-prefix: "CAPTCHA_CODE" # Redis 存储的 Key 前缀

或者配置 application.properties:

# 配置 Redis
spring.redis.host=<REDIS_HOST>
spring.redis.port=<REDIS_PORT>

# 配置 CAPTCHA
dustlight.captcha.default.store.name=redisCodeStore
dustlight.captcha.store.redis.key-prefix=CAPTCHA_CODE

完成配置之后,@SendCode 与 @VerifyCode 默认使用 redisCodeStore 作为验证码存储器。

配置局部使用

不想全局使用 Redis 存储,而希望在指定方法使用 Redis 存储。

配置 application.yaml:

# 配置 Redis
spring:
  redis:
    host: <REDIS_HOST> # Redis Host
    port: <REDIS_PORT> # Redis Port

# 配置 CAPTCHA
dustlight:
  captcha:
    store:
      redis:
        key-prefix: "CAPTCHA_CODE" # Redis 存储的 Key 前缀

或者配置 application.properties:

# 配置 Redis
spring.redis.host=<REDIS_HOST>
spring.redis.port=<REDIS_PORT>

# 配置 CAPTCHA
dustlight.captcha.store.redis.key-prefix=CAPTCHA_CODE

通过删除配置项 ‘dustlight.captcha.default.store.name’ 即可取消全局默认配置,在需要使用 Redis 进行储存和获取时可以通过注解参数 ‘store’ 指定:

@SendCode(store = @Store("redisCodeStore"))
@VerifyCode(store = @Store("redisCodeStore"))

获取帮助

如果需要报告问题或者功能需求,请在Github中 创建issue 。若有其他问题或建议,请发送电子邮件至 hansin@dustlight.cn