1
resposta

[Dúvida] Sobre o filtro do Spring

Segundo o instrutor, antes não tínhamos nem o nosso filtro e nem o filtro do Spring, mas agora temos o filtro do Spring UsernamePasswordAuthenticationFilter, quando exatamente isso foi definido? Em que contexto esse filtro é adicionado na aplicação?

1 resposta

Olá, Constanze!

O filtro UsernamePasswordAuthenticationFilter é um componente padrão do Spring Security que é responsável por processar a autenticação baseada em nome de usuário e senha. Ele é adicionado automaticamente pelo Spring Security quando você configura a segurança da sua aplicação, especialmente quando você está lidando com autenticação de formulários ou com métodos de login que requerem nome de usuário e senha.

No contexto da sua aplicação, esse filtro é adicionado quando você configura a segurança no Spring Security. No exemplo que você está seguindo, a configuração é feita na classe SecurityConfigurations.java. O Spring Security, por padrão, adiciona seus próprios filtros de segurança, incluindo o UsernamePasswordAuthenticationFilter, para gerenciar a autenticação e autorização.

No seu caso específico, para garantir que seu próprio filtro (SecurityFilter) seja executado antes do filtro padrão do Spring (UsernamePasswordAuthenticationFilter), você precisa explicitamente definir a ordem dos filtros usando o método addFilterBefore. Isso é feito na configuração de segurança, onde você especifica que o securityFilter deve ser executado antes do UsernamePasswordAuthenticationFilter.

Espero ter ajudado e bons estudos!