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.
Pode por favor me ajudar com as adaptações necessárias?
Obrigada.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.
Pode por favor me ajudar com as adaptações necessárias?
Obrigada.
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.
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()
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!