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