Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro: A conexão com localhost foi recusada

Olá, Rodrigo. Pode me ajudar? Estou usando o banco de dados H2 e desde que adicionei o Spring Security não consigo mais acessar o banco de dados. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Pode por favor me ajudar com as adaptações necessárias?

Obrigada.

6 respostas

Oi Vanessa!

Você precisa liberar o h2-console para o Spring Security:

.requestMatchers("/h2-console/**").permitAll()
.and().headers().frameOptions().sameOrigin()

No momento meu método está assim:

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {                                                
        return http.csrf().disable() 
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) 
                .and().build();
    }

Onde entra essas linhas de código? Tentei de algumas formas aqui, mas não compila.

solução!

O seu pode ficar assim então:

@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();
}

Eu tentei assim, mas não compila a linha:

.requestMatchers("/h2-console/**").permitAll()

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Se você estiver usando a versão 3.0.0(M5) do Spring Boot (ou anterior) altere para:

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

Exato, foi isso que funcionou. Obrigada!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software