首页 > 解决方案 > Websphere WAS 在会话超时后创建新的 JSESSIONID,而不是使会话无效

问题描述

当我登录时,正在使用新的 jsessionid(SSO 登录)正确创建一个新会话。它是一个集群 WAS。我的会话超时值为 30 分钟。因此,在 30 分钟不活动后,我的会话被正确销毁。我希望用户在会话超时后再次提示登录。但问题是,它并没有提示用户登录,而是进入没有任何问题。

在检查日志时,我发现我以前的会话被正确销毁,但是当用户在 30 分钟后单击某些东西时,会自动创建一个新的会话 ID,这是不正确的。请建议 websphere 中的任何设置是否或会话超时后避免这种情况的任何方法。

日志:

Current session :UJ8IzrhI7-E8oSRtg1PdbSY
After 30 minutes
New session :o6fPgTstd3ytRb2xrsxkRBU (automatically) -  dont know from where i am getting this

2020-01-26 **18:35:08**,307 [WebContainer : 67]  ***** Browser : End Request *************************************************

2020-01-26 **18:35:08,307** [WebContainer : 67]  Browser : End Request *************************************************
2020-01-26 **19:07:18,019** [WsSessionInvalidatorThread] DEBUG com.t24browser.servlets.BrowserSessionListener  - Session Destroyed : Id = **UJ8IzrhI7-E8oSRtg1PdbSY**

2020-01-26 **19:07:18,019** [WsSessionInvalidatorThread] DEBUG com.t24browser.servlets.BrowserSessionListener  - Clearing Session Data : Id = UJ8IzrhI7-E8oSRtg1PdbSY

2020-01-26 19:08:02,571 [WebContainer : 140] DEBUG com.t24browser.servlets.BrowserServlet  - ***** Browser : Start Request ***********************************************

2020-01-26 **19:08:02**,571 [WebContainer : 140] DEBUG com.t24browser.servlets.BrowserServlet  - 
 *** Session Data *** 
      - Id = o6fPgTstd3ytRb2xrsxkRBU
      - Sign On Name = 
      - User Id = 
      - Token = 
      - Token Seq No = 

标签: webspheresession-timeoutjsessionidwas

解决方案


您必须在 IHS 上将请求标头设置为 no-cache、no-transform、no-private。因为使用端的浏览器正在重用它。


推荐阅读