public final class ConcurrentMapRequestLimiter extends RequestLimiter
CACHE_CAPTCHA_KEY, CACHE_CODE_KEY, CHECK_CODE_KEY, CHECK_FREQ_KEY, CHECK_THRE_KEY, TRACE_ACTION_KEY| 限定符和类型 | 方法和说明 |
|---|---|
void |
cacheCaptcha(String key,
String captcha,
int expire)
cache captcha of server generate
|
void |
cacheCode(String key,
String code,
int ttl)
cache for the server generate validation code
|
boolean |
checkCaptcha(String key,
String captcha,
boolean caseSensitive)
check captcha of user input
|
ConcurrentMapRequestLimiter |
checkCode(String key,
String code,
int limit)
check the validation code of user input is equals server cache
|
long |
countAction(String key)
统计周期内的行为量
用于登录失败达到一定次数后锁定账户等场景
|
ConcurrentMapRequestLimiter |
limitFrequency(String key,
int period,
String message)
访问频率限制:一个周期内最多允许访问1次
比如短信60秒内只能发送一次
|
ConcurrentMapRequestLimiter |
limitThreshold(String key,
int period,
int limit,
String message)
访问次数限制:一个周期内最多允许访问limit次
比如一个手机号一天只能发10次
|
void |
recordAction(String key,
int period)
计数周期内的行为
用于登录失败达到一定次数后锁定账户等场景
|
void |
resetAction(String key)
重置行为
|
buildNonce, checkCaptcha, format, limitFrequency, limitThreshold, verifyNoncepublic ConcurrentMapRequestLimiter limitFrequency(String key, int period, String message) throws RequestLimitException
RequestLimiter比如短信60秒内只能发送一次
limitFrequency 在类中 RequestLimiterkey - the keyperiod - the periodmessage - the messageRequestLimitException - if over limit occurspublic ConcurrentMapRequestLimiter limitThreshold(String key, int period, int limit, String message) throws RequestLimitException
RequestLimiterlimitThreshold 在类中 RequestLimiterkey - the keyperiod - the periodlimit - the limitmessage - the messageRequestLimitException - if over limit occurspublic void cacheCode(String key, String code, int ttl)
RequestLimitercacheCode 在类中 RequestLimiterkey - the cache keycode - the validation code of server generatettl - the expire timepublic ConcurrentMapRequestLimiter checkCode(String key, String code, int limit) throws RequestLimitException
RequestLimitercheckCode 在类中 RequestLimiterkey - the cache keycode - the validation code of user inputlimit - the maximum fail input timesRequestLimitException - if over limit occurspublic void cacheCaptcha(String key, String captcha, int expire)
RequestLimitercacheCaptcha 在类中 RequestLimitercaptcha - the image captcha code of server generateexpire - 缓存有效时间public boolean checkCaptcha(String key, String captcha, boolean caseSensitive)
RequestLimitercheckCaptcha 在类中 RequestLimiterkey - the cache keycaptcha - the captchacaseSensitive - is case sensitivepublic void recordAction(String key, int period)
RequestLimiter用于登录失败达到一定次数后锁定账户等场景
recordAction 在类中 RequestLimiterpublic long countAction(String key)
RequestLimiter用于登录失败达到一定次数后锁定账户等场景
countAction 在类中 RequestLimiterkey - the keypublic void resetAction(String key)
RequestLimiterresetAction 在类中 RequestLimiterkey - the keyCopyright © 2023. All rights reserved.