No aplicar filtros de OncePerRequestFilter: SpringBoot

Nuñito de la Calzada :

Tengo una aplicación básica SpringBoot 2.0.5.RELEASE. Utilizando Spring inicializador, JPA, incrustado Tomcat, motor de plantillas thymeleaf, y el paquete como un archivo JAR ejecutable.

He creado un filtro de seguridad basada JwtFilter personalizada JWT:

@Provider
public class JwtAuthorizationTokenFilter extends OncePerRequestFilter {
...
}

Pero quiero Bypass este filtro sólo para 1 solicitud específica / método: "/api/v1/menus"cuando es unaPOST

Pero no sé si es posible en el WebSecurityConfigurerAdapter:

 JwtAuthorizationTokenFilter authenticationTokenFilter = new JwtAuthorizationTokenFilter(userDetailsService(), jwtTokenUtil, tokenHeader);
     httpSecurity
         .addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)
          .antMatcher("/api/v1/menus")
tom:

Puede sustituir el shouldNotFiltermétodo de la OncePerRequestFilter de la siguiente manera:

@Provider
public class JwtAuthorizationTokenFilter extends OncePerRequestFilter {
    @Override
    protected boolean shouldNotFilter(HttpServletRequest request) throws ServletException {
        return new AntPathMatcher().match("/api/v1/menus", request.getServletPath());
    }

}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=207881&siteId=1
Recomendado
Clasificación