Tomcat 7 - JSESSIONID cookie无法从JavaScript代码中访问

12

有人知道在Tomcat 6和Tomcat 7配置上有哪些改变,导致JSESSIONID cookie无法通过JavaScript访问吗?

使用Tomcat 6:

alert(document.cookie); // JSESSIONID=8675309ABCDEF...

使用Tomcat 7:

alert(document.cookie); // nothing

如果不清楚,请注意,第一行是在Tomcat 6中发生的情况,第二行是在Tomcat 7中发生的情况。 - Jeff R.
1个回答

13

好的,我找到了答案。在 Tomcat 6 中,默认情况下将 useHttpOnly 属性设置为 false,而在 Tomcat 7 中则设置为 true。该属性是针对 <Context> 容器设置的。

<Context useHttpOnly="false" [...] />

有关从Tomcat 6更新到7的更多信息: 从6.0.x迁移到7.0.x

我不确定为什么之前在文档中没有看到这个,但我已经验证将其设置为false确实会导致Tomcat 7恢复到Tomcat 6的行为。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接