Ich habe die OAuth2-Passwort-Bewilligung mit dem Feder-Sicherheitsmodul implementiert. Ich füge eigene Implementierung von UserDetails und UserDetailsService (jdbc) hinzu. Ich injiziere meinen Controller mit:
%Vor%wo Benutzer meine Implementierung von UserDetails ist. Jetzt möchte ich die Möglichkeit hinzufügen, Benutzerdaten zu ändern, ohne das Token zu aktualisieren.
Ich versuche Principals mit:
zu aktualisieren %Vor%Aber es funktioniert nicht, wenn ich eine andere Controller-Methode aufruft, gibt es ein altes Benutzerobjekt zurück.
Gibt es eine Möglichkeit, Benutzerdaten ohne Aktualisierungstoken zu ändern? Gibt es eine Lösung, um die Sicherheit im Frühling zu gewährleisten, dass Benutzerdaten immer aus der Datenbank geladen werden (nicht aus dem Cache)?
Ich habe einen Weg gefunden, dies zu erreichen von diese Antwort . Ich habe HttpSessionSecurityContextRepository
und füge das zu meinem HttpSecurity
aus der Klasse von WebSecurityConfigurerAdapter
as
Nachfolgend finden Sie Beispielcodes, um aktualisierte Benutzerinformationen bei jeder Anfrage abzurufen. Sie können von Ihrem API-Server oder user-info-url
Ihrer oauth2-Konfiguration abrufen.
Tags und Links spring-security spring-oauth2