天天看點

mica 中驗證碼擴充 mica-captcha 驗證碼元件驗證碼效果開源推薦

驗證碼效果

mica 中驗證碼擴充 mica-captcha 驗證碼元件驗證碼效果開源推薦
mica 中驗證碼擴充 mica-captcha 驗證碼元件驗證碼效果開源推薦
mica 中驗證碼擴充 mica-captcha 驗證碼元件驗證碼效果開源推薦

保證了驗證碼的安全性的同時盡量做到了美觀,歡迎試用,更多使用方式可以檢視

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);           

生成其他類型驗證碼

  • micaCaptcha.generateBase64

    生成 base64 圖檔驗證碼(主要為 App 或者前後端分離設計)。
  • micaCaptcha.validateBase64

    校驗 base64 圖檔驗證碼。

開源推薦