Spring Security 3.2 CSRF-Unterstützung für mehrteilige Anforderungen

Wir verwenden Spring Security seit einigen Jahren für unsere Anwendung. Letzte Woche haben wir Spring Security von Version 3.1.4 auf 3.2.0 aktualisiert. Das Upgrade verlief einwandfrei und wir konnten nach dem Upgrade keine Fehler feststellen.

Bei der Durchsicht der Dokumentation zu Spring Security 3.2.0 stießen wir auf die neu hinzugefügten Funktionen für CSRF-Schutz und Sicherheitskopfzeilen. Wir haben die Anweisungen in der Dokumentation zu Spring Security 3.2.0 befolgt, um den CSRF-Schutz für unsere geschützten Ressourcen zu aktivieren. Für reguläre Formulare funktioniert dies problemlos, in unserer Anwendung jedoch nicht für mehrteilige Formulare. Bei Einreichung des FormularsCsrfFilter Löst einen Fehler "Zugriff verweigert" aus, der auf das Fehlen eines CSRF-Tokens in der Anforderung hinweist (ermittelt durch DEBUG-Protokolle). Wir haben versucht, die erste in der vorgeschlagene Option zu verwendenSpring-Sicherheitsdokumentation Damit der CSRF-Schutz mit mehrteiligen Formularen funktioniert. Wir möchten die zweite vorgeschlagene Option nicht verwenden, da sie CSRF-Token über die URLs verliert und ein Sicherheitsrisiko darstellt.

Der relevante Teil unserer Konfiguration, der auf der Dokumentation basiert, ist als verfügbarKern auf Github. Wir verwenden die Spring-Version 4.0.0.

Beachten Sie, dass wir die folgenden Varianten bereits ohne Erfolg ausprobiert haben:

Nicht deklarieren dieMultipartFilter imweb.xml.Den Resolver-Bean-Namen für das nicht festlegenMultipartFilter imweb.xml.Verwenden des Standard-Resolver-Bean-NamensfilterMultipartResolver imwebContext.xml.

AKTUALISIEREN: Ich habe bestätigt, dass das dokumentierte Verhalten auch mit einer Beispiel-App für eine einzelne Seite nicht funktioniert. Kann jemand bestätigen, dass das dokumentierte Verhalten wie erwartet funktioniert? Gibt es eine funktionierende Beispielanwendung, die verwendet werden kann?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage