java - 使用 Tomcat 允许子域 session cookie 的最佳方式

标签 java tomcat session cookies subdomain

默认情况下,tomcat 会为当前域创建 session cookie。

如果您在 www.example.com,您的 cookie 将为 www.example.com 创建(仅适用于 www.example.com)。而对于 example.com,它将为 .example.com 创建(所需的行为将适用于 example.com 的任何子域以及 example.com 本身)。

我见过一些 Tomcat 阀门,它们似乎拦截了 session cookie 的创建并使用正确的 .example.com 域创建了一个替换 cookie,但是它们似乎都没有完美地工作,而且它们似乎都离开了现有的cookie,然后创建一个新的。这意味着每个请求都会发送两个 JSESSIONID cookie。

我想知道是否有人对此问题有明确的解决方案。

最佳答案

这显然是通过 6.0.27 及更高版本中的配置设置支持的:

Configuration is done by editing META-INF/context.xml

<Context sessionCookiePath="/something" sessionCookieDomain=".domain.tld" />

https://issues.apache.org/bugzilla/show_bug.cgi?id=48379

关于java - 使用 Tomcat 允许子域 session cookie 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/82645/

相关文章:

java - 使用 HTTPS 启动 Spring Boot 应用程序

session_id() 和 session_start() 的 PHP 逻辑

java - 无法使用 Ant 编译 javadoc

java - 在 Android 游戏开发中使用的东西

java - Sling - 使用 pageManager 查找页面路径

tomcat - 将大型 RDF/Xml 文件上传到 Openrdf Sesame 失败

java - 一个应用程序代码具有多个上下文路径/部署以连接到不同的数据库

java - 对于独立应用程序(对于 Spring JMS),Java main 方法应该是什么?

ASP.NET Core Web API 中的 session 值始终为空

mysql - 即使未加载 codeigniter session 库,也会在数据库中创建新的 session 条目。为什么?