Ja, dies ist eine weitere Frage "JSESSIONID in URL", aber ich konnte keine Antwort finden. Ich bin mit JBoss AS 7.1.1 Finale und dies ist meine web.xml:JBoss 7 hängt JsESSIONID trotz Tracking-Modus-Cookie an URL an
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<session-config>
<cookie-config>
<!-- Prevents session cookie from being read by clientside scripts -->
<http-only>true</http-only>
<!-- Prevents the session cookie from being transmitted on HTTP -->
<!-- secure>true</secure-->
</cookie-config>
<tracking-mode>COOKIE</tracking-mode>
<session-timeout>30</session-timeout>
</session-config>
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>com.cgi.dk.vias.web.config.WebConfig</param-value>
</init-param>
<init-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Basierend auf Internet-Suche und Antworten hier auf Stack-Überlauf (zB https://stackoverflow.com/a/11350819/224143), es ist mein Verständnis, dass <tracking-mode>COOKIE</tracking-mode>
Einstellung sollte JSESSIONID verhindern von URLs angehängt werden. Wenn ich jedoch mit einem neuen Browserfenster zu meiner Site navigiere (d. H. Keine vorhandenen Cookies oder Sitzungen), wird JSESSIONID an alle Links in der ersten Antwort angehängt. Wenn ich die Seite aktualisiere, verschwindet die JSESSIONID, da sie in den Cookie gelangt.
Ich verstehe, dass ich einen Filter erstellen kann, um es zu entfernen, aber ich würde lieber vermeiden, mit dem HTML zu manipulieren, wenn möglich.
Mein Browser unterstützt natürlich Cookies und sie sind aktiviert.
Ist mein Verständnis der <tracking-mode>
Element falsch, oder ist da etwas anderes passiert, dass ich vermisse?
Haben Sie das jemals herausgefunden? – Nate
Nun, es scheint gelöst zu sein, aber ich bin mir nicht sicher, warum genau - meine web.xml sieht immer noch wie oben aus und ich habe keine Filter oder ähnliches eingeführt, um damit umzugehen. Ich benutze Spring-Sicherheit wie in der Antwort unten vorgeschlagen, aber ich benutze Java-basierte Config, und nicht ausdrücklich DisableUrlRewriting. Wenn das Problem von Spring Security stammt, ist es wahrscheinlich, dass die Eigenschaft standardmäßig festgelegt ist, oder ich habe es ohne Problem auf eine neuere Version aktualisiert. Ich habe auch ein Ventil hinzugefügt, um mit Single Signon umzugehen, aber ich bin mir nicht sicher, ob das relevant ist. Leider habe ich keine klare Antwort. –
Ich habe das gleiche Problem. Wenn die Option in Tomcat7 ausgeführt wird, funktioniert die Option, und die Option verfügt nicht über die Sitzungs-ID, aber wenn sie auf JBoss7.1.1 bereitgestellt wird, scheint die Option ignoriert zu werden. Ich benutze auch Frühling 3.0.x. –