【问题标题】:Same jsessionid for MyProject.com and param.MyProject.comMyProject.com 和 param.MyProject.com 的 jsessionid 相同
【发布时间】:2011-11-16 00:48:55
【问题描述】:
是否可以在同一个域中的 2 个不同的 url 上保持相同的 jsessionid?
例子:
我在我的网站 (http://MyProject.com) 的主页上。当我点击一个按钮时,我被重定向到“http://param.MyProject.com”。目前,浏览器不会发送当前的 jsessionid 并且服务器会创建一个新的,但我想保持不变。
结果是,当 url 从 MyProject.com 更改为 param.MyProject.com 时,我失去了 HttpSession 并退出了。
我使用 tomcat 7 和 Chrome 或 Firefox。
感谢您的回答。
【问题讨论】:
标签:
java
session
url
jsessionid
【解决方案1】:
这实际上取决于为 Cookie 设置的“域名”。
为 www.myproject.com 设置的 Cookie 不适用于 param.myproject.com,但如果为 myproject.com 设置 cookie,它将适用于 myproject.com 和 myproject.com 的所有子域
您可以通过修改 META-INF/context.xml 为 tomcat 配置 cookie 域,如下所示:
<Context sessionCookiePath="/" sessionCookieDomain=".myproject.com" />