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

Injeção de dependência nas classes filters

Bom dia , estou no curso de Spring Boot API Rest: Segurança da API, Cache e Monitoramento , tenho uma dúvida, pq não é permitir uma injeção de dependência na classes de filters por ex: na classe AutenticacaoViaTokenFilter

public class AutenticacaoViaTokenFilter extends OncePerRequestFilter {

    private TokenService tokenService;

    public AutenticacaoViaTokenFilter(TokenService tokenService) {        
        this.tokenService = tokenService;
    }

    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
            throws ServletException, IOException {

        String token = recuperarToken(request);
        System.out.println(token);
        //validar se o token esta correto
        boolean valido = tokenService.isTokenValido(token);

        filterChain.doFilter(request, response);

    }

    private String recuperarToken(HttpServletRequest request) {
        String token = request.getHeader("Authorization");
        if(token == null || token.isEmpty() || !token.startsWith("Bearer ")) {
            return null;
        }
        return token.substring(7, token.length());
    }

}
2 respostas
solução!

Oi Max,

Como nessa classe não colocamos anotações, o Spring não gerencia ela, embora ela esteja herdando de uma classe dele.

E como isso não conseguimos realizar injeção de dependências nela.

Bons estudos!

Obrigado pelo retorno !