No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aplicar requestMatchers

9/23
Recursos

Aportes 3

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Algunos métodos usados en esta clase ya están deprecated, aquí les dejo como realice el cambio a la nueva forma:

@Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {

        http.authorizeHttpRequests(customRequest -> customRequest
                .requestMatchers(HttpMethod.GET,"/api/**").permitAll()
                .requestMatchers(HttpMethod.PUT).denyAll()
                .anyRequest().authenticated())
            .httpBasic(Customizer.withDefaults())
            .csrf(AbstractHttpConfigurer::disable)
            .cors(Customizer.withDefaults());

        return http.build();
    }

Tengan en cuenta que los .requestMatchers() deben ser colocados siempre antes del .anyRequest()

Les dejo unos enlaces a información sobre los requestMatchers:

Uso de RequestMatchers
Definición de RM

Al momento de pasar el pattern al request matcher solo podemos agregar los valores de nuestro @RequestMapping definidos en los controladores. Spring Security no tomara en cuenta el server.servlet.context-path que definamos. Si agregamos el nombre de nuestro context-path en el pattern no funcionara

Mi aporte para JDK 19

@Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
                .csrf().disable()
                .cors().and()
                .authorizeRequests()
                .antMatchers("/producto/**").permitAll() // Acceso con Java SDK 19 
                .anyRequest()
                .authenticated()
                .and()
                .httpBasic();

        return http.build();
    }