Heim >Java >javaLernprogramm >Warum funktioniert meine Spring Security-Konfiguration mit mehreren HTTP-Konfigurationen nicht?
Spring Security: Mehrere HTTP-Konfigurationen funktionieren nicht
Es kann vorkommen, dass mehrere HTTP-Konfigurationen für maßgeschneiderte Anmeldeseiten und sichere URLs erforderlich sind Zugriff, wie das folgende Szenario zeigt:
@Configuration @Order(1) public static class ProviderSecurity extends WebSecurityConfigurerAdapter { // Security configuration for admin/* routes } @Configuration @Order(2) public static class ConsumerSecurity extends WebSecurityConfigurerAdapter { // Security configuration for consumer/* routes }
Dieser Ansatz kann jedoch zu Diskrepanzen führen, wenn nur eine Konfiguration aktiv ist. Um dieses Problem zu beheben, lesen Sie das Spring Security-Referenzhandbuch:
@EnableWebSecurity public class MultiHttpSecurityConfig { // Authentication configuration @Configuration @Order(1) public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter { // Security configuration for /api/* routes } @Configuration public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter { // Security configuration for all other routes } }
Wichtige Punkte:
Im vorherigen Beispiel tritt das Problem auf, weil die erste Konfiguration mit /antMatcher (die alle URLs abgleicht) die zweite Konfiguration überschreibt, was dazu führt, dass die URLs der zweiten Konfiguration nicht gesichert sind. Durch die Beschränkung des Bereichs der ersten Konfiguration auf nur /admin/ können die URLs der zweiten Konfiguration geeignete Sicherheitsmechanismen erhalten.
Das obige ist der detaillierte Inhalt vonWarum funktioniert meine Spring Security-Konfiguration mit mehreren HTTP-Konfigurationen nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!