Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tomcat 7 - JSESSIONID cookie is not accessible from JavaScript code

Does anyone know what changed in the configuration between Tomcat 6 and Tomcat 7 that would cause the JSESSIONID cookie to not be accessible via JavaScript?

Using Tomcat 6:

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

Using Tomcat 7:

alert(document.cookie); // nothing
like image 600
Jeff R. Avatar asked Dec 13 '11 19:12

Jeff R.


1 Answers

Okay, I found the answer. The useHttpOnly attribute was set to false by default in Tomcat 6, and is true in Tomcat 7. This attribute is set for the <Context> container.

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

For more information about updating from Tomcat 6 to 7: Migrating from 6.0.x to 7.0.x

I'm not sure why I didn't see that in the docs before, but I've verified that setting this to false does in fact cause Tomcat 7 to revert to the Tomcat 6 behavior.

like image 54
Jeff R. Avatar answered Oct 11 '22 17:10

Jeff R.