各位好
小弟最近在公司作了網站
參考網路上用session做管理權限的控制
login時檢查帳號密碼成功後就建立Session
logout時就做destroid
使用 session.invalidate(); 指令
今天發現如果直接跳過首頁
直接呼叫login
xxx.xxx.xxx.xxx:8080/login
會自己填入上一次的帳號密碼,直接進入登入狀態
監控後台console,確實有丟入帳號跟密碼
想不通問題可能出在哪
請問各位大神,可能是那個地方的問題造成自動登錄?
感謝
作者:
pttworld (批踢踢世界)
2018-06-13 17:25:00你自己平常用瀏覽器逛其他網站都沒發現嗎
作者: marx93521 (<阿ㄉ一ㄥˋ>) 2018-06-13 18:15:00
所以從首頁進去就不會自動登入嗎?
作者:
qrtt1 (有些事,有時候。。。)
2018-06-13 18:40:00公司如果都是 struts 2 為主,建議塊陶R
作者:
ssccg (23)
2018-06-13 22:50:00現在spring八成都直接用spring web mvc,沒在struts2
作者: acerder (阿捷) 2018-06-14 09:57:00
session.invalidate()只是待銷毀要過一定時間(一個多小時吧)或關掉網頁才會銷毀試試session.removeAttribute(),直接清掉另外可以設置session失效時間 MaxInactiveInterval
作者:
qrtt1 (有些事,有時候。。。)
2018-06-14 18:04:00如果是新專案,就不要再用 struts 2 了。
還好吧,現在主流還是 SSH,Struts 2 雖然前身 xwork 出很久。等 Spring Cloud 這種微服務為主的框架變主流再說吧。
想像session是個容器可裝資料invalidate是刪除這容器removeAttribute是刪除容器內的資料,找不到容器會直接報錯,或是BROWSER幫你處理掉重新登入一次但找到容器後發現裡面的時間過期就會走重新登入流程