使用者在2分鐘內,僅允許輸入錯誤密碼5次。如果超過次數,限制其登入1小時。(12306)
登入錯誤次數key: user:logincount:fail:使用者名稱
鎖定限制登入key: user: logintime: lock:使用者名稱
執行登入功能時:
|1判斷當前登入的使用者是否被限制登入
1.1如果沒有被限制(執行登入功能)
2如果登入成功
2.1登入成功–》(清除輸入密碼錯誤次數信 息)
2.2登入不成功
3記錄登入錯誤次數
(判斷redis中的登入次數key是否存在) user : logincount:fail:使用者名稱
3.1如果不存在
是第一次登入失敗次數為1
user : logincount:fail:使用者名稱進行賦值,同時設定失效期
3.2如果存在查詢登入失敗次數的key結果
if(結果<4)user: logincount:fail:+1
else';}
//是否被鎖的key
public
static string getlogintimelockkey
(string username)
//登入失敗次數key
public
static string getlogincountfailkey
(string username)
public
static string getkeyname()
public integer getid()
public
void
setid
(integer id)
public string getusername()
public
void
setusername
(string username)
public string getpassword()
public
void
setpassword
(string password)
public string getname()
public
void
setname
(string name)
public integer getage()
public
void
setage
(integer age)
}
/**
* @author anqi
* @date 2020/3/13 23 45:48
* @description
*/@service
public
inte***ce
userservice
/**
* @author anqi
* @date 2020/3/13 23 47:05
* @description
*/@service
public
class
userserviceimpl
implements
userservice
else
}/**
* 判斷是否被限制
* 查詢key是否存在
* 存在:被限制 提示 ttl
* 不存在: 不被限制
* @param uname
* @return
*/@override
public map
loginuserlock
(string uname)
else
return map;
}@override
public user login
(string name, string password)
//登入不成功操作
@override
public string loginvaldate
(string uname)
else
else}}
}
Springboot(三)redis儲存與登入攔截
autowired private stringredistemplate stringredistemplate redis操作類 若存在,將使用者openid存入redis資料庫,並設定過期時間 string token key uuid.randomuuid tostring integer ...
python3 selenium進行模擬登陸
這裡主要就說下,當表籤中只有class,而且class是這種形式的 class 的名字是自定義的,內容優勢有空格的形式,我們使用常規的定位方法總是出現問題,提示找不到元素。解決上面的辦法就是 brows.find element by css selector data test class kw ...
北郵08複試模擬problem B
第二題 統計字母 submit 4279 accepted 1257 time limit 1000ms memory limit 65535k description 給定乙個只有小寫英文本母組成的字串,串長為n。請你編寫程式求出這個字串中出現次數最多的字母。input 輸入的第一行為t 0 t ...