2016-11-28 3 views
-1

Ich habe meine Spring-Security.xml von 3.2 auf 4.0 umgestellt. Wenn ich mit 3.2 fortfahre, wird JsessionId angezeigt. Wenn es zu 4.0 kommt, zeigt es JsessionId nicht an. Damit kann ich nicht mehrere Logins mit demselben Benutzer einschränken (concurrency-control).JsessionId wird in der URL nicht angezeigt?

Dies ist meine Konfiguration in Frühlings-security.xml: -

<security:session-management invalid-session-url="/login" session-fixation-protection="newSession" > 
    <security:concurrency-control max-sessions="1" error-if-maximum-exceeded="true" expired-url="/login"/> 
</security:session-management> 

I verwendet denselben Code wie aboue für beide federsicherheits 3,2 und 4,0. Wie bekomme ich JsessionId.

Antwort

2

Im Frühling wurde das 4.X URL-Rewriting standardmäßig deaktiviert, was bedeutet, dass die JSESSIONID von Cookies anstatt von der URL verwaltet wird.

Wenn Sie es zurück in die kurzfristig benötigen, sollten Sie in der Lage zu setzen: disable-URL-Rewriting = "false"

Quelle: http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#nsa-http-disable-url-rewriting

bearbeiten Frühling diese Funktion deaktiviert haben absichtlich als OWASP listet es als "gebrochene Authentifizierung und Sitzungsverwaltung" Sie sollten in Betracht ziehen, Cookies in Kombination mit der Spring Security Session Control-Funktionalität zu verwenden: http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#ns-concurrent-sessions

Verwandte Themen