更改 cookie JSESSIONID 名称

新手上路,请多包涵

我需要在单个物理盒子中运行多个 tomcat 服务器。在从浏览器访问这些应用程序时,当用户在应用程序之间切换时,会导致用户注销之前访问的应用程序。这是因为 JSESSIONID cookie 冲突。

一种可能的解决方案是在不同的上下文中运行每个应用程序。不幸的是,我的应用程序将无法在上下文路径设置中工作,因为没有任何资源是通过在前面加上 request.getContextPath() 来访问的。

这使我需要更改 cookie JSESSIONID 的名称来解决冲突。有没有办法做到这一点?如果是,如何?

希望我清楚地陈述我的问题。

注意:我所有的应用程序都在同一台机器的不同端口上运行。

原文由 ramanr 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

使用 Servlet API 3.0 一切都变得简单多了。

现在你可以在你的 web.xml 中配置它:

 <session-config>
    <cookie-config>
        <name>MY_JSESSIONID_YAHOOOOOO</name>
    </cookie-config>
</session-config>

而已!

原文由 walv 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题