Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Diferença entre WebFilter e OncePerRequestFilter

O projeto da aula foi desenvolvido com OncePerRequestFilter, mas o material menciona o WebFilter. Quais seriam as diferenças mais significativas? A configuração com o addFilterBefore no HttpSecurity fica válida?

Qual seria a forma mais elegante de acessar o usuário que foi validado no filter nas classes controller? Via SecurityContextHolder ou alguma annotation nos métodos?

1 resposta
solução!

Olá, tudo bem?

OncePerRequestFilter e WebFilter são duas anotações usadas em aplicações Spring para filtrar requisições HTTP. A principal diferença entre os dois é que OncePerRequestFilter garante que o filtro seja executado apenas uma vez por requisição, enquanto WebFilter não faz essa garantia. Isso significa que, se você tiver várias instâncias de WebFilter registradas para a mesma URL, cada uma será executada para cada requisição. A configuração addFilterBefore em HttpSecurity é válida para ambos os tipos de filtro. A classe SecurityContextHolder é uma forma comum de acessar o contexto de segurança, incluindo informações sobre o usuário autenticado, durante todo o ciclo de vida da requisição. Outra opção é usar anotações como @AuthenticationPrincipal.