SecurityFilterChain în Spring Security 6 în Spring Boot

security Spring Boot 3.x / Spring Security 6 Q&A / Distribuie cod

Configurarea modernă a securității HTTP pe bază de componente @Bean în Spring Security 6: renunțarea la WebSecurityConfigurerAdapter.

Sintaxă
@Bean public SecurityFilterChain filterChain(HttpSecurity http)

În Spring Boot 3 și Spring Security 6, vechea abordare bazată pe moștenirea clasei WebSecurityConfigurerAdapter a fost complet eliminată. Noul standard impune definirea securității printr-un bean de tip SecurityFilterChain.

Configurarea utilizează o sintaxă fluentă bazată pe lambda-uri Java, permițând declararea clară a rutelor publice, a celor protejate prin roluri, a mecanismelor de autentificare și a politicilor de sesiune.

Exemplu: Configurare SecurityFilterChain completă pentru API REST stateless
package ro.dexblog.demo.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.web.SecurityFilterChain;

@Configuration
@EnableWebSecurity
public class WebSecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
            .csrf(csrf -> csrf.disable()) // Dezactivat pentru API-uri REST stateless
            .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
            .authorizeHttpRequests(auth -> auth
                .requestMatchers("/api/v1/auth/**", "/public/**").permitAll()
                .requestMatchers("/api/v1/admin/**").hasRole("ADMIN")
                .anyRequest().authenticated()
            );

        return http.build();
    }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: SecurityFilterChain în Spring Security 6

Ai o nelămurire despre utilizarea comenzii SecurityFilterChain în Spring Security 6 sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.