作者sthermit ( )
看板java
標題[問題] Struts2 網站的問題
時間Wed Jun 13 16:58:14 2018
各位好
小弟最近在公司作了網站
參考網路上用session做管理權限的控制
login時檢查帳號密碼成功後就建立Session
logout時就做destroid
使用 session.invalidate(); 指令
今天發現如果直接跳過首頁
直接呼叫login
xxx.xxx.xxx.xxx:8080/login
會自己填入上一次的帳號密碼,直接進入登入狀態
監控後台console,確實有丟入帳號跟密碼
想不通問題可能出在哪
請問各位大神,可能是那個地方的問題造成自動登錄?
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.22.92.217
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1528880298.A.DCB.html
1F:→ pttworld: 你自己平常用瀏覽器逛其他網站都沒發現嗎 06/13 17:25
我平常逛網頁都會正常登出,也都不使用記憶帳號密碼的功能
2F:推 marx93521: 所以從首頁進去就不會自動登入嗎? 06/13 18:15
如果從首頁就要照規矩 輸入帳號密碼進入,這時候就是照輸入的帳號進入
3F:→ qrtt1: 公司如果都是 struts 2 為主,建議塊陶R 06/13 18:40
應該是我只會用這個...
前端用angularJS + Struts2 + ajax + Spring
※ 編輯: sthermit (1.160.24.235), 06/13/2018 21:27:08
4F:→ ssccg: 現在spring八成都直接用spring web mvc,沒在struts2 06/13 22:50
5F:→ acerder: session.invalidate()只是待銷毀 06/14 09:57
6F:→ acerder: 要過一定時間(一個多小時吧)或關掉網頁才會銷毀 06/14 09:58
7F:→ acerder: 試試session.removeAttribute(),直接清掉 06/14 10:00
8F:→ acerder: 另外可以設置session失效時間 MaxInactiveInterval 06/14 10:11
感謝大神的回覆,原來我session用的方法不對,學到了!
也謝謝其他大大的回應,有時間再來用Spring MVC重構一個
※ 編輯: sthermit (211.22.92.217), 06/14/2018 10:56:45
9F:→ qrtt1: 如果是新專案,就不要再用 struts 2 了。 06/14 18:04
10F:推 zephyrhymn: 好古老的東西XD 06/15 11:03
11F:→ cancelpc: 還好吧,現在主流還是 SSH,Struts 2 雖然前身 xwork 出 06/15 17:37
12F:→ cancelpc: 很久。 06/15 17:37
13F:→ cancelpc: 等 Spring Cloud 這種微服務為主的框架變主流再說吧。 06/15 17:38
15F:推 THEWORLDS: 想像session是個容器可裝資料invalidate是刪除這容器 06/19 11:44
16F:→ THEWORLDS: removeAttribute是刪除容器內的資料,找不到容器會直接 06/19 11:44
17F:→ THEWORLDS: 報錯,或是BROWSER幫你處理掉重新登入一次 06/19 11:45
18F:→ THEWORLDS: 但找到容器後發現裡面的時間過期就會走重新登入流程 06/19 11:45