Jcaptcha集群環境驗證失敗解決辦法

2021-08-29 17:57:21 字數 1169 閱讀 8183

問題描述:

線上集群環境,前端可能從a伺服器取得驗證碼,而驗證是到b伺服器

預設的hashmap store是儲存在單個jvm記憶體中的,這樣驗證就會有問題

解決辦法:

重寫captchastore,把資訊存在快取中(memcached或redis)

1.重寫 mycaptchastore 實現 captchastore

public class mycaptchastore implements captchastore 

@override

public void storecaptcha(string id, captcha captcha) throws captchaserviceexception catch (exception e)

}@override

public void storecaptcha(string id, captcha captcha, locale locale) throws captchaserviceexception catch (exception e)

}@override

public boolean removecaptcha(string id)

@override

public captcha getcaptcha(string id) throws captchaserviceexception

@override

public locale getlocale(string id) throws captchaserviceexception

@override

public int getsize()

@override

public collection getkeys()

@override

public void empty()

@override

public void initandstart()

@override

public void cleanandshutdown()

}

2.配置spring.xml,新增

參考文章:

JS JQ簡單的表單失焦驗證

js jq簡單的表單失焦驗證 鄧強 以下 僅供參考。驗證使用者名稱 function ckname if username else if rename.test username else function ckname1 密碼失去焦點驗證 function ckpassword if passw...

element ui中的input失焦驗證

一般情況下,input失焦驗證只需要一句話就行 name 這是驗證失焦時如果沒有輸入東西,那麼下面就會出現一句 請輸入真實姓名 但是現在後台有乙個需求,就是如果在失焦的情況下,如果輸入的使用者名稱與之前有重複,那麼下面就會出現一句話 已有使用者名稱,請重新輸入 而且需要有介面跟他配合,所以這個時候就...

nginx tomcat redis集群環境搭建

乙個web伺服器處理的能力有限,當出現大使用者量同時訪問時,出現響應慢,甚至宕機。今天我們就來看看多個web伺服器集群的搭建。集群有幾個問題會出現 session的同步 由於上次請求和這次請求不一定在同乙個web服務請上,會出現session資料拿不到的情況,所以要保證session在多個伺服器上同...