即使请求中提供了现有会话 ID,Tomcat 也会创建新的 JSESSIONID

问题描述

我在 tomcat 上部署了一个 Web 应用程序,并与 Forgerock 集成以进行 SSO。最初,当用户使用 forgerock tomcat 登录应用程序时,会创建并返回一个新的 JSESSIONID(针对该特定会话)。但是一旦UI模块对服务器上的后端应用程序进行更多的休息调用(同时在登录forgerock后加载UI时),tomcat在响应中随机返回一个新的会话ID。

我们将 Tomcat 的持久性管理器和文件存储用于会话存储。以下是为其完成的配置。

<Manager className="org.apache.catalina.session.PersistentManager" persistAuthentication="true" processExpiresFrequency="1" maxIdleBackup="1">
           <Store className="org.apache.catalina.session.FileStore" directory="${catalina.base}/temp/sessions"/>
   </Manager>

所以主要部分是为什么当使用现有活动会话发出请求时,tomcat 在响应头中返回一个新的 JSESSIONID。

这种行为是随机发生的,有时可以正常工作,有时会返回新的 JSESSIONID。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)