使用session作為用戶標(biāo)識實現(xiàn)登錄,不適用分布式環(huán)境。分布式環(huán)境下,通常采用cookie+緩存的方式維持登錄狀態(tài)。
具體做法:
1、用戶輸入賬號密碼進行登錄驗證
2、驗證通過后,在cookie里寫入一個隨機字符串;同時,以該字符串為key,在mc中保存對應(yīng)用戶登錄票(代替session)
3、登錄后才能看見的頁面在struts2或者springMvc中配置攔截器,攔截器中讀取cookie對應(yīng)的用戶登錄票。如果登錄票存在,則延長緩存時間,如果登錄票不存在,則跳到登錄界面
注意事項:
為了防止cookie劫持,通常有兩種做法
1、在寫入cookie時,在http頭加上httponly
2、登錄票的key可以加入IP信息,這樣就算黑客劫持了該cookie,也無法偽造用戶的登錄狀態(tài)
|
|