new session id with new browser window with tomcat 6.0.29
mrfixit440 Nov 19, 2010 12:42 PMI have a webapp deployed to jboss 4.2.3.GA(including tomcat 6.0.20) with a IIS frontend using AJP 1.3. IIS is using CAC authentication and will forward to jboss when successfull. The first jsp that is hit after login, saves request.getRemoteUser() to session, creates a user object and saves that to session, and then it opens a new window to load a second jsp. This second jsp reads the user object from session and begins to populate page with user specific info. This setup works good.
However, when I upgrade jbossweb.jar to tomcat 6.0.29, the session id is different between the 2 jsp pages, so I never can get the user object out of session in the second jsp and it fails to populate. Both jsp's are in the same web context. I tried firefox and IE 7. It seems like the new browser window is causing the second jsp to report a different session id than the first jsp.
Is there a configuration setting that I need to set for 6.0.29?
Here is my server.xml snippet:
 <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
  maxThreads="150" scheme="https" secure="true" clientAuth="false"
  strategy="ms" address="${jboss.bind.address}"
  keyAlias="foossl"
        ciphers="SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, 
  TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, 
  SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 
  SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
  keystoreFile="${jboss.server.home.dir}/conf/Certificates/FOO-server.keystore"
        keystorePass="123456"
        truststoreFile="${jboss.server.home.dir}/conf/Certificates/FOO-client.truststore"
        truststorePass="123456" algorithm="SunX509" sslProtocol="TLS"
  URIEncoding="UTF-8" />
           
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" address="${jboss.bind.address}" protocol="AJP/1.3"
         emptySessionPath="true" enableLookups="false" redirectPort="8443"
   URIEncoding="UTF-8" />
<Engine name="jboss.web" defaultHost="localhost">
Here is my jboss-web.deployer/context.xml:
<Context cookies="true" crossContext="true" useHttpOnly="true">
   <!-- Session persistence is disable by default. To enable for all web
   apps set the pathname to a non-empty value:
   <Manager pathname="SESSIONS.ser" />
   To enable session persistence for a single web app, add a
   WEB-INF/context.xml 
   -->
   <Manager pathname="" />
   <!-- Install an InstanceListener to handle the establishment of the run-as
   role for servlet init/destroy events.
   -->
   <InstanceListener>org.jboss.web.tomcat.security.RunAsListener</InstanceListener>
   
</Context>
 
    