首页 > 解决方案 > 是否可以为容器提供自定义 JSESSIONID 值?

问题描述

我指的是 jsessionid 的值,而不是 cookie 的名称。

是否可以告诉容器创建具有给定“xyz”值的 jsessionid?

例如,如果 jsessionid cookie 值为“123”并且容器在其数据存储中没有找到它,我们是否可以将其配置为使用“123”作为 jsessionid 键创建一个?例如,在这种情况下 jsessionid cookie 将不需要更新。

我试图找出一种方法来避免为同一域后面的每个用户面对应用程序使用不同的 jsessionid。使用这种方法,所有应用程序都可以使用相同的“jsessionid”cookie,而不必维护单独的cookie。

标签: tomcatjsessionid

解决方案


只需在容器级别设置会话处理(而不是默认的应用级别)。

这样,所有应用程序都将使用相同的会话池和每个应用程序的路径(Set-Cookie响应标头将有一个Path指向/

这种方法的最大问题是,您放入 Session 的内容也需要在容器级别可访问。这意味着您可以轻松地将原始类型放入 HttpSession 对象中,但是如果您尝试将任何特定于 App 的类放入 HttpSession 中,它将失败。


推荐阅读