默认情况下,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" />
关于java - 使用 Tomcat 允许子域 session cookie 的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/82645/