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?
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?
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!