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

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

Barbara Streisand
Barbara StreisandOriginal
2024-12-02 12:14:10219Durchsuche

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/**

}

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!

Stellungnahme:
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