2012-07-30 1 views
6

hinzugefügt Manchmal fügt Spring Security eine jsessionid an das Ende meiner URL an. Würde mich nicht so sehr stören, wenn es die ganze Zeit oder nie passiert wäre, aber es scheint fast zufällig. Ich frage mich, warum das passiert und wenn es etwas damit zu tun hat, erinnere mich daran, dass ich nicht richtig mit LDAP arbeite?URL wird manchmal mit jssessionid Grails/Spring Security

http://localhost:8080/myapplication/login/auth;jsessionid=A07D52CB78DB999947F3EED1917D60F6

+1

ich dies ohne LDAP sogar sehen, auf LDAP. Ich denke, es hängt mit einigen Browserfehlern zusammen, die das Setzen von Cookies verhindern, ohne auf eine andere URL umzuleiten. – Chris

Antwort

5

JSESSIONID von tomcat erstellt wird (oder einem anderen Web-Container, siehe docs), ist es nicht von Spring Security ist. JSESSIONID ist die eindeutige ID der HTTP-Sitzung, die in Situationen verwendet wird, in denen eine Anwendung eine Sitzung verwendet (während der Anfrage Daten von sesson eingeben/lesen), aber kein Sitzungscookie vorhanden ist. In diesem Fall Server versucht beide Möglichkeiten: Setup-Cookie und Parameter an alle Links anhängen.

Meist ist es, weil:

  • erste Anfrage von Browser (kein Cookie überhaupt)
  • Browser ungültig sessionid gesendet hat (zum Beispiel, wenn der Server neu gestartet wurde, und bestehende Sitzung wurde ungültig)

Und während einer solchen Anfrage Sitzung wurde auf der Serverseite verwendet (und wurde neue Sitzung erstellt).

PS Ich bin nicht sicher, dass es Auth Ausgabe bezogen werden kann

+0

Gut zu wissen. Dadurch konnte ich die Ursache meines Hauptproblems eingrenzen. Vielen Dank! – ubiquibacon