YMP-Captcha基于 YMP 框架實現(xiàn)的驗證碼模塊
Captcha
基于YMP框架實現(xiàn)的驗證碼模塊,支持圖片、郵件和短信三種驗證類型,采用@VCaptcha注解方式進(jìn)行驗證,配置簡單、靈活,可自定義擴(kuò)展;
Maven包依賴
net.ymate.module
ymate-module-captcha
1.0-SNAPSHOT
搭建模塊工程
-
首先,你需要創(chuàng)建一個基于YMPv2框架的JavaWeb工程項目;(如何快速搭建工程?)
-
YMP框架掃描包路徑要包含
net.ymate.module.captcha, 調(diào)整配置如下:# 框架自動掃描的包路徑集合,多個包名之間用'|'分隔,默認(rèn)已包含net.ymate.platform包,其子包也將被掃描 ymp.autoscan_packages=net.ymate
注: 推薦將YMP框架更新至最新(Maven中央庫發(fā)布的版本較緩), 請前往下載最新代碼
使用方法說明
-
獲取驗證碼圖片
http:///captcha?tokenId=&type= tokenId:令牌標(biāo)識ID, 用于區(qū)分不同客戶端及數(shù)據(jù)存儲范圍,相同令牌ID間僅存在唯一驗證碼,可選參數(shù);
type:僅當(dāng)
type=1時采用Base64編碼輸出圖片,可選參數(shù); -
發(fā)送短信驗證碼
http:///captcha/sms_code?tokenId=&mobile= tokenId:令牌標(biāo)識ID, 采用
sms作為前綴,區(qū)別于圖片驗證碼,可選參數(shù);mobile:手機(jī)號碼,必選參數(shù);
返回值說明:
{ret: 0, msg: "..."}-
ret=0表示發(fā)送成功 -
ret=-1表示參數(shù)驗證錯誤 -
ret=-6表示發(fā)送頻率過快或其它消息 -
ret=-50表示發(fā)送異常
-
-
發(fā)送郵件驗證碼
http:///captcha/mail_code?tokenId=&email= tokenId:令牌標(biāo)識ID, 采用
mail作為前綴,區(qū)別于圖片驗證碼,可選參數(shù);email:郵件地址,必選參數(shù);
返回值說明:
{ret: 0, msg: "..."}-
ret=0表示發(fā)送成功 -
ret=-1表示參數(shù)驗證錯誤 -
ret=-6表示發(fā)送頻率過快或其它消息 -
ret=-50表示發(fā)送異常
-
-
檢查驗證碼是否合法
http:///captcha/match?tokenId=&token= tokenId:令牌標(biāo)識ID, 可選參數(shù);
token:預(yù)驗證的令牌值,必選參數(shù);
返回值:
{ret: 0, matched: true|false}
模塊配置參數(shù)說明
#-------------------------------------
# module.captcha 模塊初始化參數(shù)
#-------------------------------------
# 是否開啟調(diào)試模式(調(diào)試模式下控制臺將輸出生成的驗證碼, 同時短信驗證碼也不會被真正發(fā)送), 默認(rèn)值: false
ymp.configs.module.captcha.dev_mode=
# 驗證碼服務(wù)提供者類, 默認(rèn)值: net.ymate.module.captcha.impl.DefaultCaptchaProvider
ymp.configs.module.captcha.provider_class=
# 驗證碼存儲適配器類, 默認(rèn)值: net.ymate.module.captcha.impl.DefaultCaptchaStorageAdapter
ymp.configs.module.captcha.storage_adapter_class=
# 身份令牌標(biāo)識擴(kuò)展處理器, 默認(rèn)值: 空
ymp.configs.module.captcha.token_processor_class=
# 郵件驗證碼發(fā)送服務(wù)提供者類, 默認(rèn)值: 空
ymp.configs.module.captcha.mail_send_provider_class=
# 相同令牌標(biāo)識范圍的郵件驗證碼重復(fù)發(fā)送的是時間間隔(秒), 默認(rèn)值: 300秒
ymp.configs.module.captcha.mail_send_time_interval=
# 手機(jī)短信驗證碼發(fā)送服務(wù)提供者類, 默認(rèn)值: 空
ymp.configs.module.captcha.sms_send_provider_class=
# 手機(jī)短信驗證碼內(nèi)容模板, 默認(rèn)值: ${captcha}
ymp.configs.module.captcha.sms_content_template=
# 相同令牌標(biāo)識范圍的短信驗證碼重復(fù)發(fā)送的是時間間隔(秒), 默認(rèn)值: 120秒
ymp.configs.module.captcha.sms_send_time_interval=
# 設(shè)置在達(dá)到指定錯誤次數(shù)上限后開啟驗證碼, 默認(rèn)值: 0, 表示不開啟錯誤記數(shù)特性
ymp.configs.module.captcha.need_captcha_wrong_times=
# 緩存名稱前綴, 默認(rèn)值: ""
ymp.configs.module.captcha.cache_name_prefix=
# 驗證碼最小字符長度, 默認(rèn)值: 4
ymp.configs.module.captcha.token_length_min=
# 驗證碼超時時間, 單位: 秒, 默認(rèn): 空, 空或小于等于0均表示不限制
ymp.configs.module.captcha.token_timeout=
# 高度, 默認(rèn): 70px
ymp.configs.module.captcha.height=
# 寬度, 默認(rèn): 200px
ymp.configs.module.captcha.width=
# 前景色, RGB值, 如: 0,0,0|1,2,3, 多個顏色用'|'分隔, 默認(rèn): 隨機(jī)
ymp.configs.module.captcha.foregrounds=
# 背景色, RBG值, 默認(rèn): 255,255,255
ymp.configs.module.captcha.background=
# 質(zhì)量, 可選值: min|default|max, 默認(rèn): max
ymp.configs.module.captcha.quality=
# 壓縮比, 0-1之間, 默認(rèn): 空
ymp.configs.module.captcha.compress_ratio=
# 圖片格式, 可選值: png|jpeg, 默認(rèn): jpeg
ymp.configs.module.captcha.format=
# 自定義字體, 可選參數(shù), 如: SansSerif,plain|Serif,bold|Monospaced,plain, 多個字體用'|'分隔, 默認(rèn): 隨機(jī)
ymp.configs.module.captcha.fonts=
# 圖片生成效果參數(shù)設(shè)置: 縮放, 取值范圍: [0-1, 0-1], 默認(rèn): 1,1
ymp.configs.module.captcha.effect.scale=
# 圖片生成效果參數(shù)設(shè)置: 波浪, 默認(rèn)值: true
ymp.configs.module.captcha.effect.ripple=
# 圖片生成效果參數(shù)設(shè)置: 模糊, 默認(rèn)值: true
ymp.configs.module.captcha.effect.blur=
# 圖片生成效果參數(shù)設(shè)置: 輪廓, 默認(rèn)值: false
ymp.configs.module.captcha.effect.outline=
# 圖片生成效果參數(shù)設(shè)置: 旋轉(zhuǎn), 默認(rèn)值: true
ymp.configs.module.captcha.effect.ratale=
One More Thing
YMP不僅提供便捷的Web及其它Java項目的快速開發(fā)體驗,也將不斷提供更多豐富的項目實踐經(jīng)驗。
感興趣的小伙伴兒們可以加入 官方QQ群480374360,一起交流學(xué)習(xí),幫助YMP成長!
了解更多有關(guān)YMP框架的內(nèi)容,請訪問官網(wǎng):http://www.ymate.net/
