2016-09-28 6 views
2

Ich verwende Spring Security und Java-Konfigurationen in meinem Projekt.Können wir das Ablaufdatum des CSRF-Tokens angeben?

Die Java-Konfigurationen für Spring-Sicherheit haben standardmäßig csrf aktiviert.

Ist es möglich, das Zeitlimit festzulegen, nach dem das csrf-Token abläuft? Dies war eine Voraussetzung, um das Zeitlimit für die tokenbasierte Anwendung anzugeben.

Nachdem ich einige Blogs und Artikel durchgesehen habe, ist mir aufgefallen, dass das Verhalten des csrf-Tokens unvorhersehbar ist, um es sicherer zu machen.

Hier ist ein Beispielcode zum Konfigurieren der Federsicherheit.

Wenn es eine Möglichkeit gibt, mit der ich die Zeitüberschreitung einrichten kann, die mir eine Menge Arbeit ersparen würde.

Antwort

0

Siehe Spring Security Reference:

Ein Problem ist, dass die erwartete CSRF-Token in der Http gespeichert ist, so sobald die Http Ihre AccessDeniedHandler konfiguriert abläuft eine InvalidCsrfTokenException erhalten.

Das heißt, man konnte das Session-Timeout in Ihrem web.xml ändern, um die CSRF-Token abläuft, siehe zum Beispiel WebLogic:

<session-timeout> | optional | Die Anzahl der Minuten, nach der Sitzungen in dieser Web-Anwendung ablaufen

Eine andere Möglichkeit ist Ihre eigene schreiben CsrfTokenRepository:

Eine API, das Verfahren zu ermöglichen, zu ändern, in dem die erwartete CsrfToken zum HttpServletRequest zugeordnet ist, . Zum Beispiel kann es in HttpSession gespeichert werden.

Verwandte Themen