Heim > Java > javaLernprogramm > Spring Security: Warum funktionieren meine mehreren HTTP-Konfigurationen nicht?

Spring Security: Warum funktionieren meine mehreren HTTP-Konfigurationen nicht?

Barbara Streisand
Freigeben: 2024-12-02 12:14:10
Original
219 Leute haben es durchsucht

Spring Security: Why Aren't My Multiple HTTP Configurations Working?

Spring Security: Mehrere HTTP-Konfigurationen funktionieren nicht

In diesem Artikel wird ein Spring Security-Problem untersucht, bei dem mehrere HTTP-Konfigurationen nicht wie erwartet funktionieren.

Problem

Ein Entwickler hat versucht, verschiedene Anmeldeseiten und geschützte URL-Sätze einzurichten Bei der Verwendung mehrerer WebSecurityConfigurerAdapter-Klassen ist ein Implementierungsproblem aufgetreten. Die Sicherheit für eine Gruppe von URL-Mustern funktionierte ordnungsgemäß, die andere Gruppe wurde jedoch nicht gesichert, was zu keiner Umleitung zur Anmeldeseite führte.

Lösung

An Um dieses Problem zu lösen, musste der Entwickler die richtige Ausführungsreihenfolge für die WebSecurityConfigurerAdapter-Konfigurationen sicherstellen. Spring Security verarbeitet Konfigurationen in der Reihenfolge, in der sie deklariert werden. In diesem Fall beschränkte die erste Konfiguration den Zugriff nur auf ein bestimmtes URL-Muster (/admin/), während die zweite Konfiguration darauf abzielte, alle anderen URLs zu sichern. Da jedoch die erste Konfiguration mit allen URLs (/) übereinstimmte, hatte sie Vorrang und verhinderte effektiv die Anwendung der zweiten Konfiguration.

Richtige Konfiguration

@Configuration
@Order(1)
public static class ProviderSecurity extends WebSecurityConfigurerAdapter {

    // Configure security for /admin/**

}

@Configuration
@Order(2)
public static class ConsumerSecurity extends WebSecurityConfigurerAdapter {

    // Configure security for /consumer/**

}
Nach dem Login kopieren

Indem wir der ConsumerSecurity-Konfiguration einen @Order-Wert von 2 zuweisen, stellen wir sicher, dass diese nach der ProviderSecurity-Konfiguration verarbeitet wird. Auf diese Weise kann der Zugriff auf die /consumer/**-URLs wie vorgesehen eingeschränkt werden.

Das obige ist der detaillierte Inhalt vonSpring Security: Warum funktionieren meine mehreren HTTP-Konfigurationen nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage