spring - Weblogic 为每个请求重置 JSESSIONID cookie
问题描述
我目前正在维护相当大的 Java webapp,我需要让它在 Weblogic server 12.2.1.3.0 上也能正常工作。该应用程序可以在 JBoss 7、Wildfly 13 和 Websphere 上正常运行。
我能够将应用程序部署到 Weblogic,启动它(没有任何错误)并登录。该应用程序为 3 个路径(“/”、“/myApp”、“/myApp/home”)创建 3 个 JSESSIONID cookie。然而,路径 '/' 的 JSESSIONID cookie 会随着对服务器的每个请求而改变。当我在 chrome devTools 中进行网络调用时,每个调用都有不同的 cookie 值,这会破坏我应用程序的会话相关功能。
有趣的是,如果我删除路径为“/myApp/home”的 cookie,此行为将停止(路径为“/”的 cookie 停止重置)。在 Chrome 和 Firefox 上观察到相同的行为。
该应用程序使用 Spring security 3.2.10 和 GWT 2.6.1。
如果我没有发现一些会话失效,但没有任何成功(如前所述,它在其他应用程序服务器上正常工作),我试图通过 spring 过滤器链。欢迎任何建议
解决方案
似乎 WebLogic 服务器的当前行为是仅验证 cookie 标头中的第一个 JSESSIONID cookie!尝试设置以下 java 选项
-Dweblogic.http.tryAllCookies=true
。
推荐阅读
- python - 用鼠标选择图像的一个区域并记录选择的尺寸
- symfony - Symfony 4 使用 Monolog 的 Redis 处理程序启用日志记录
- python - Altair 复选框默认值
- python - Opencv显示错误的图像宽度和高度
- node.js - 如何在节点 js 中将 HTTP 端点订阅到 SNS?
- python - 导入 pygame 时出现 ImportError
- chart.js - 是否可以在 x 轴上为折线图添加水平范围滑块控件以使用 chartJS 动态控制 x 轴数据
- javascript - 在javascript中按字母顺序对对象数组进行排序
- c# - Microsoft.Office.Interop.Excel.Application - 调用不同版本的 Excel
- arrays - 如何从列表创建扩展磁贴
- > 在颤振中?