Ciao!
grazie per la risposta.
ho provato così:
@Component
@Order(1)
public class AuthFilter extends OncePerRequestFilter {
private Set<String> rotteEscluse = new HashSet<>(List.of("/utenti/login"));
private AntPathMatcher pathMatcher = new AntPathMatcher();
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
System.out.println("FILTER");
filterChain.doFilter(request, response);
}
@Override
protected boolean shouldNotFilter(HttpServletRequest request) {
System.out.println("NO FILTER");
return rotteEscluse.stream().anyMatch(p -> pathMatcher.match(p, request.getRequestURI()));
}
}
solo che il comportamento che ha è strano.
se interrogo un qualsiasi endpoint mi escono sia FILTER che NO FILTER.
se interrogo "utenti/login" mi esce solo NO FILTER (quindi corretto).
in sostanza mi fa l'esclusione, ma non funziona per tutti quelli non da escludere.