session - 即使请求中提供了现有会话 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。
解决方案
推荐阅读
- php - Yii2 kartik select2 小部件也显示值问题
- r - 如何在 R 中使用 ggplot 修复第二个 Y 刻度的值?
- python-3.x - 如何使用flask-sqlalchemy按父列排序子记录?
- c++ - C++ Boost::asio 与 Arduino 的串行通信无法写入
- php - Laravel 在 API 中设置 cookie 未设置
- flutter - 如何从文件中读取文本并使用 Flutter 中的 widget/s 将它们显示为列表?
- java - 如何模拟服务类中参数的值
- r - 如何在 R 中添加基于公共变量减去其他 2 行的行?
- php - Fullcalendar + 连接到 SQL + PHPMaker
- cpu-usage - 主机和来宾之间的 Hyper-V CPU 负载差异