驗證碼效果
保證了驗證碼的安全性的同時盡量做到了美觀,歡迎試用,更多使用方式可以檢視
mica 示例項目。
依賴坐标
Maven
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-captcha</artifactId>
</dependency>
Gradle
implementation "net.dreamlu:mica-captcha"
配置項
預設值 | 說明 | |
---|---|---|
mica.captcha.cache-name | micaCaptchaCache | 驗證碼cache名,預設:micaCaptchaCache |
mica.captcha.cookie-name | mica-captcha | 驗證碼cookie名,預設:mica-captcha |
mica.captcha.enabled | true | 是否開啟驗證碼,預設:true. |
注意:結合 mica-pro 的
mica-cache-redis
元件實作 cache name 使用
#
号自動配置逾時時間。
使用
首先需要配置 Spring cache,如 ehcache、redis等,然後給
micaCaptchaCache
配置一個逾時時間。
Servlet
- 生成驗證碼
@Autowired
private MicaCaptchaServlet micaCaptcha;
/**
* 圖形驗證碼
*/
@GetMapping(value = "/captcha.jpg", produces = MediaType.IMAGE_JPEG_VALUE)
@ResponseBody
public ResponseEntity<Resource> captcha(HttpServletResponse response) {
return micaCaptcha.generate(response);
}
- 校驗驗證碼
boolean validated = micaCaptcha.validate(response, userInputCaptcha);
WebFlux
@Autowired
private MicaCaptchaReactive micaCaptcha;
/**
* 圖形驗證碼
*/
@GetMapping(value = "/captcha.jpg", produces = MediaType.IMAGE_JPEG_VALUE)
@ResponseBody
public Mono<ResponseEntity<Resource>> captcha(ServerWebExchange exchange) {
return Mono.just(micaCaptcha.generate(exchange));
}
boolean validated = micaCaptcha.validate(exchange, userInputCaptcha);
生成其他類型驗證碼
-
生成 base64 圖檔驗證碼(主要為 App 或者前後端分離設計)。micaCaptcha.generateBase64
-
校驗 base64 圖檔驗證碼。micaCaptcha.validateBase64
開源推薦
- Spring boot 微服務高效開發
工具集: https://gitee.com/596392912/micamica
-
一款基于vue可配置化的神奇架構: https://gitee.com/smallweigit/avueAvue
-
宇宙最強微服務(架構師必備): https://gitee.com/log4j/pigpig
-
完整的線上解決方案(企業開發必備): https://gitee.com/smallc/SpringBladeSpringBlade
-
支付SDK讓支付觸手可及: https://gitee.com/javen205/IJPayIJPay