1
resposta

Não consigo usar o H2 console após atualização do Spring Security

Tentei usar o codigo abaixo não fuciona apos atualização do org.springframework.security.config.annotation.web.builders.HttpSecurity

@Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        return http.csrf().disable()
                .authorizeHttpRequests()
                .requestMatchers("/h2-console/**").permitAll()
                .and().headers().frameOptions().sameOrigin()
                .and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and().build();
    }
1 resposta

Oi!

O H2 utiliza um modo antigo de configuração de segurança do Spring.

Seu código precisa ficar assim:

@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
    return http.csrf()
            .ignoringRequestMatchers(toH2Console())
            .disable()
            .authorizeHttpRequests()
            .requestMatchers(toH2Console()).permitAll()
            .and().headers().frameOptions().sameOrigin()
            .and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
            .and().build();
}

O import estático do método toH2Console:

import static org.springframework.boot.autoconfigure.security.servlet.PathRequest.toH2Console;

Habilite o h2 console no application.properties:

spring.h2.console.enabled=true
spring.h2.console.path=/h2-console