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

Filter barrando o swagger

Fiz todas as configurações mostradas na aula, coloquei no método configure :

web.ignoring().antMatchers("/**.html", "/v2/api-docs", "/configuration/**", "/swagger-resources/**")

mas ainda assim a aplicação ta bloqueando acesso não autenticado

3 respostas
solução!

Descobri o erro, a configuração disponibilizada nos exercícios não está igual a que foi mostrada no video, a configuração do exercício ta faltando algumas urls estáticas serem liberadas.

package com.apirest.security;

import java.io.IOException; import java.io.PrintWriter;

import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

import org.springframework.security.core.AuthenticationException; import org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint; import org.springframework.stereotype.Component;

import com.apirest.swagger.SwaggerConfig;

@Component public class MyBasicAuthenticationEntryPoint extends BasicAuthenticationEntryPoint {

... Código omitido...

@Override public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authEx) throws IOException, ServletException {

... Código omitido...

if (SwaggerConfig.isSwaggerResource(request)) { response.setStatus(HttpServletResponse.SC_OK); request.getRequestDispatcher(rescueLastArgument(request)).forward(request, response);

} else { response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); PrintWriter writer = response.getWriter(); writer.println("HTTP Status 401 - " + authEx.getMessage()); } }

Oi Lúcio,

Que bom que encontrou o problema e conseguiu resolver :)

Já atualizei o texto da atividade para incluir todas as urls.

Obrigado pelo feedback.

Bons estudos!