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

Duvida usando spring-security

Boa Noite, Gente o que estou em duvida é o seguinte estou criando um sistema e adotei o spring-security 4.2.3.RELEASE para proteger os serviços rest que estou criando. A minha dificuldade está sendo com relação ao swagger pois quero que o spring proteja os serviços e que deixe o acesso ao swagger do meu sistema aberto(acredito que seja uma boa pratica). Se alguém puder ficarei muito grato

2 respostas
solução!

Oi Robson, tudo bem?

Para fazer isso basta você configurar no WebSecurityConfiguration quais são as URLs que você quer deixar públicas (sem proteção/autenticação):

@Configuration
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/v2/api-docs", "/configuration/ui", "/swagger-resources", "/configuration/security", "/swagger-ui.html", "/webjars/**");
    }

}

Olá otavio, Testei com o método ignoring e o sistema passou a abrir a pagina do swagger porém ele não carregava os serviços para exibir (mais especificamente a sessão que mostra o serviço e qual verbo http o serviço está configurado). Após isso tive a ideia de olhar o campo de texto junto com o botão explore no topo da pagina é notei que valor do campo era http://localhost:8080/meusistema/api/swagger.json . Assim eu acrescentei a uri /api/swagger.json no método antMatchers invocado pelo ignoring e assim resolveu a minha questão.