通过为多个域设置JSESSIONID cookie来共享会话

时间:2012-10-31 15:12:35

标签: java session tomcat web-applications servlets

我的网络应用程序部分可从www.domainA.com访问,另一部分可从www.domainB.com访问。当我通过domainA.com输入我的应用程序而不是导航到domainB.com时,旧会话将丢失并创建新的sesion。但我不希望我的会话在这两个域中共享(当我登录domainA.com时,我不想再次登录domainB.com)。

所以我认为解决方案是为域名domainA.com和domainB.com nomatter创建JSESSIONID cookie,输入哪个站点。

我认为我会在会话创建时手动创建HttpSessionListener一个JSESSIONID个Cookie集。但我不知道如何从这个HttpSessionListener设置cookie。

如何实现这一目标的另一种方法是使用Filter。但对我而言,即使我只需要在会话创建时设置cookie,过滤每个请求似乎也是不必要的。

我正在使用Tomcat 7,但对所有Java服务器的通用解决方案将不胜感激。

我还认为最好的解决方案是以某种方式挂钩或覆盖在正常情况下设置cookie的机制,使其为两个域设置此cookie。

可能存在更好更清洁的解决方案,但没有想到。

0 个答案:

没有答案