Weblogic Server JSESSIONID 在同一域下的应用程序之间覆盖

Weblogic Server JSESSIONID overwrites between apps under the same domain

问题:

我在 Weblogic 服务器中部署了一个 Spring boot 应用程序 与同一域下的其他应用 运行。假设我访问我的 Web 应用程序并在一个选项卡中保持打开状态,然后在第二个选项卡中打开同一域的另一个应用程序。然后,如果我切换到我的第一个选项卡,我的端点将返回错误 500,因为会话为空。

我发现问题出在cookie JSESSIONID,当我打开一个新的应用程序时,它被覆盖了,然后我的应用程序后端抛出错误。

问题

所以我想问一下,在不引起安全问题的情况下,解决这个问题的最佳方法是什么。

解决方法是为每个网络应用设置不同的cookie名称。 要更新 WebLogic 用于会话亲和性的 cookie,请更改您的 weblogic.xml 文件,如下所示:

<session-descriptor>
    <cookie-name>[YOUR JSESSIONID NAME]</cookie-name>
    <cookie-domain>[YOUR COOKIE DOMAIN]</cookie-domain>
</session-descriptor>

阅读此documentation了解详情。