Laut Spring Security Reference Abschnitt 5.7 sollte dies geschehen möglich sein, mehr als einen Sicherheitsadapter zu definieren.
Ich versuche dasselbe zu tun, aber ohne Erfolg. Nach einem Serverneustart funktioniert das erste x-fache der API einwandfrei mit basic auth, aber nach ein paar mal werde ich auf die Login (Formular) -Seite umgeleitet, dies sollte nur für unsere Web-App passieren, nicht für die API-Aufrufe.
Mein Code:
%Vor%Irgendeine Idee?
Ich verwende Spring Boot Version 1.4.1-RELEASE und Spring Security Version 4.1.3-RELEASE.
Sie verwenden dasselbe AuthenticationManager
für beide Konfigurationen, da Sie das selbe AuthenticationManagerBuilder
.
Siehe Spring Security Architecture :
%Vor%Dieses Beispiel bezieht sich auf eine Webanwendung, aber die Verwendung von
%Vor%AuthenticationManagerBuilder
ist in größerem Umfang anwendbar (weitere Informationen zur Implementierung der Webanwendungssicherheit finden Sie weiter unten). Beachten Sie, dassAuthenticationManagerBuilder
@Autowired
für eine Methode in@Bean
ist. Dies ist der Grund, warum der globale (übergeordnete) AuthenticationManager erstellt wird. Im Gegensatz, wenn wir es so gemacht hätten:(mit
@Override
einer Methode im Konfigurator), dann wirdAuthenticationManagerBuilder
nur verwendet, um eine "lokale"AuthenticationManager
zu erstellen, die ein Kind der globalen ist.
Tags und Links java spring spring-security spring-boot http-basic-authentication