In Spring Security 6 haben die requestMatchers-Methoden die veralteten antMatchers-, mvcMatchers- und regexMatchers-Methoden zum Konfigurieren der pfadbasierten Zugriffskontrolle ersetzt. Hier sind die wichtigsten Punkte zu den neuen requestMatchers:
Mit der Methode „authorizeHttpRequests“ in der HttpSecurity-Konfiguration können Sie einen fein abgestimmten Anforderungsabgleich für die Zugriffskontrolle konfigurieren. Mit der Methode requestMatchers können Sie angeben, welche Anfragen zugelassen oder authentifiziert werden sollen. Zum Beispiel:
@Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return http.authorizeHttpRequests(auth -> auth .requestMatchers("/greet").permitAll() .anyRequest().authenticated()) .formLogin() .build(); }
Diese Konfiguration ermöglicht den Zugriff auf den /greet-Endpunkt ohne Authentifizierung, während für alle anderen Anfragen eine Authentifizierung erforderlich ist.
Es gibt zwei ähnliche Methoden: requestMatchers und securityMatchers. Beide wählen die am besten geeignete RequestMatcher-Implementierung basierend auf dem Vorhandensein von Spring MVC im Klassenpfad:
Der Hauptunterschied besteht darin, dass securityMatchers an Orten wie WebSecurityCustomizer verwendet wird, während requestMatchers in AuthorizeHttpRequests verwendet wird.
Mit den requestMatchers-Methoden können Sie Anfragen anhand von Mustern oder anderen Kriterien abgleichen, ohne sich auf bestimmte Matcher wie AntPathRequestMatcher oder RegexRequestMatcher verlassen zu müssen. Dies bietet mehr Flexibilität und bessere Standardeinstellungen.
Um einen bestimmten Matcher zu verwenden, können Sie eine RequestMatcher-Implementierung an die requestMatchers-Methode übergeben:
@Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return http.authorizeHttpRequests(auth -> auth .requestMatchers(new AntPathRequestMatcher("/greet")).permitAll() .anyRequest().authenticated()) .formLogin() .build(); }
Zusammenfassend lässt sich sagen, dass die neuen requestMatchers-Methoden in Spring Security 6 eine flexiblere und sicherere Möglichkeit bieten, die pfadbasierte Zugriffskontrolle zu konfigurieren und die am besten geeignete RequestMatcher-Implementierung basierend auf den Abhängigkeiten der Anwendung auszuwählen.
Das obige ist der detaillierte Inhalt vonNeue requestMatcher in Spring Security 6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!