Ich habe eine Spring-Boot
-Anwendung erstellt, die mit jwt
authentication arbeitet.
Ich möchte eine grundlegende Authentifizierung haben, wenn ich Swagger
verwende Ich möchte ein Popup mit haben, wenn ich auf die Schaltfläche Try Out
Zum Beispiel:
Wie können zwei Sicherheitsfilter (Formularbasis, JWT-Token) der Federsicherheit auf demselben Endpunkt verwendet werden?
WebSecurityConfig
%Vor%TokenAuthenticationService
%Vor%JWTLoginFilter
%Vor%JWTAuthenticationFilter
%Vor%AccountCredentials
%Vor% Sie müssen zwei verschiedene WebSecurityConfigurerAdapter
-Konfigurationen mit verschiedenen Root-URLs erstellen. Wenn sich die URLs überschneiden (dh /admin and /**
), müssen Sie die Priorität definieren, indem Sie @Order
annotation für die Konfiguration verwenden.
Hier ist ein funktionierendes Beispiel für HTTP Basic und Form-basierte Authentifizierung.
%Vor%Hinweis: Da diese Anmeldeseiten nicht von verschiedenen Anwendungen stammen, teilen sie sich den SecurityContextHolder oder den Sicherheitskontext. Wenn Sie sich also von einer Anmeldeseite aus anmelden und dann versuchen, die geschützte Ressource der anderen Seite aufzurufen, werden Sie nicht zur nächsten Anmeldeseite weitergeleitet. Stattdessen erhalten Sie den 403 (abhängig von den Rollen, die auf den verschiedenen Anmeldeseiten zugewiesen sind). Zu einer Zeit kann nur eine Login-Sitzung aufrechterhalten werden.
Tags und Links java spring-security spring-boot jwt basic-authentication