1

我的 Web 应用程序部分可从 www.domainA.com 访问,另一部分可从 www.domainB.com 访问。当我通过 domainA.com 进入我的应用程序并导航到 domainB.com 时,旧会话丢失并创建了新会话。但是我不想在这两个域之间共享我的会话(当我登录 domainA.com 时,我不想再次登录 domainB.com)。

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

我以为我会在创建会话时手动创建HttpSessionListener一个设置的JSESSIONIDcookie。但我不知道如何从这个 HttpSessionListener 设置 cookie。

另一种实现此目的的方法是使用Filter. 但对我来说,过滤每个请求似乎是不必要的,即使我只需要在创建会话时设置 cookie。

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

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

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

4

0 回答 0