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

Liberação dos métodos Get não funcionou.

Fiz todos os passos conforme o video, porém os métodos GET continuam sendo bloqueados. No postman continuo recebendo o status 401 Unauthorized.

Segue abaixo a classe SecurityConfiguration:

package br.com.forum.config.security;

import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpMethod;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@EnableWebSecurity
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter{


    //Configurações de autenticação
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    }

    //Configurações de Autorização
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        //http.authorizeRequests().antMatchers(HttpMethod.GET, "/topicos").permitAll().
        //antMatchers(HttpMethod.GET, "/topicos/*").permitAll();
        http.authorizeRequests()
        .antMatchers(HttpMethod.GET, "/topicos").permitAll()
        .antMatchers(HttpMethod.GET, "/topicos/*").permitAll();
    }

    //Configuraçõaes de recureos estaticos(j, css, imagens, etc)
    @Override
    public void configure(WebSecurity web) throws Exception {
    }

}

insira seu código aqui

4 respostas

Oi Ederson,

O código está correto.

Reparei que o pacote dessa sua classe SecurityConfiguration está assim: br.com.forum.config.security.

Faltou o subpacote .alura.

O correto deveria ser: br.com.alura.forum.config.security

Veja se por acaso esse é o problema.

Oi Rodrigo,

Era isso mesmo, alterei o pacote e funcionou. Uma dúvida, há alguma explicação para isso ? Os pacotes não deveriam ser só para organização do código, mesmo se o restante das minhas classes estivessem no pacote br.com.alura.forum.xxx.xxx, com os imports corretos não deveria funcionar ?

solução!

Oi Ederson,

É porque o Spring Boot somente enxerga as classes que estiverem no pacote da classe Main e seus subpacotes.

Como nossa classe main está no pacote br.com.alura.forum, ele só enxergará a partir desse pacote e seus subpacotes.

Qualquer coisa fora disso será ignorado pelo Spring Boot.

Bons estudos!

Oi Rodrigo,

Faz sentido afinal spring boot preza a convenção sobre configuração. Obrigado pela explicação.