我在web.xml中設置了<會話超時>爲30分鐘。如果我沒有錯,這個人應該只在會話不活動時在30分鐘內註銷會話。但在我的應用程序中,用戶在30分鐘內註銷,而不考慮活動。任何人都可以請幫助我嗎?我不是問題所在。會話在30分鐘內註銷,與活動無關
1
A
回答
0
檢查您是否沒有收到每個請求的新會話。一個簡單的方法是在會話中存儲一個Integer,並在每次請求時增加它。然後將整數的值(作爲整數或字符串)添加到響應中,並將其顯示在頁面上(如果需要,可將其添加到頁面中作爲隱藏字段)。
+0
我認爲每次請求獲得新會話都將非常明顯 - 可以證明30分鐘後會話過期更爲明顯(假設用戶可能在30分鐘內停止使用)。 – 2013-03-21 16:38:09
0
可能有很多原因可能會導致意外的會話超時,沒有進一步的信息,我只能提供一些指針和建議。
- 你使用集羣嗎?如果你這樣做,請檢查你的負載均衡器的算法和設置。 30分鐘後用戶請求是否轉發到集羣中的其他服務器?你的集羣中配置了會話複製嗎?確保負載平衡器不是罪魁禍首的另一個簡單方法是關閉羣集中除一個之外的所有其他服務器。因此請求被保證發送到同一臺服務器。然後你可以檢查30分鐘超時是否仍然發生,而不管用戶活動。服務器訪問日誌也可以幫助您查看用戶是否在服務器之間被退回。
- 如果您安裝了諸如ieHTTPHeaders的瀏覽器插件,請檢查每個請求發送的會話cookie並查看是否有任何更改。
- 另一個問題是,如果將web.xml中的30分鐘超時更改爲15分鐘,則用戶每15分鐘超時一次,而不考慮用戶活動?
相關問題
- 1. 如果在10分鐘內不活動,會自動註銷應用程序(會話管理)
- 2. 30分鐘後如何註銷無用戶?
- 3. 在yii2中不活動5分鐘後自動註銷
- 4. 會話Cookie,自動註銷
- 5. 自動註銷用戶後#分鐘不活動
- 6. 會議每兩分鐘註銷
- 7. 當Java應用程序未激活30分鐘時註銷問題
- 8. 如何在1分鐘內銷燬會話?
- 9. CakePHP應用程序會在幾秒鐘內自動註銷
- 10. 註銷後第二個活動仍然保留在會話中
- 11. 15分鐘後自動註銷c#
- 12. 經過15分鐘的不活動(會話管理)後,從Android應用程序自動註銷
- 13. 註銷Facebook會話和啓動登錄活動
- 14. asp.net會話註銷
- 15. 註銷citrix會話
- 16. Facebook註銷會話
- 17. 會話註銷在asp.net
- 18. 如何自動註銷Android應用程序,如果它未被觸摸(不活動)30分鐘?
- 19. 會話在幾分鐘內過期
- 20. 流失註銷舊會話註銷
- 21. php會話變量在30分鐘後過期
- 22. 由於在android中不活動而導致15分鐘後自動註銷
- 23. 5分鐘後Cookie和會話自動銷燬
- 24. 在30分鐘內閒置時殺死用戶會話 - 基於java
- 25. 無法註銷Cookie /會話PHP
- 26. 設置註銷無效會話爲假
- 27. ASP.Net會話變成無效註銷
- 28. ZF3註銷一些非活動會話後
- 29. 如何用戶不活動,註銷或會話結束
- 30. Laravel 5.4從會話不活動中註銷事件
你在web.xml中設置了30分鐘的內容?如果您將會話生存期設置爲30分鐘,則應該是30分鐘的不活動時間,而不是30分鐘的時間(應每刷新一次服務器的請求刷新cookie過期時間)。在幾次頁面瀏覽之後,嘗試檢查瀏覽器中的cookie過期時間,並查看該頁面瀏覽是30分鐘還是首頁瀏覽30分鐘。 – Adrian 2013-03-21 15:37:09
我想所有的活動都會發生在會話之外。可能cookie不會與其他活動或類似的東西一起發送。 – AlexR 2013-03-21 15:44:18
謝謝你的回覆。對不起,html文本丟失了。會話超時設置爲30分鐘。好的,我會嘗試cookie到期時間並查看。 – user2195797 2013-03-21 15:47:39