Ed
há 2 semanas
Vamos analisar as opções apresentadas sobre o `ExceptionTranslationFilter` no contexto da segurança do Spring: 1. "Independente da ocorrência de exceções, ele invoca doFilter, com passagem da requisição e a resposta, para dar continuidade ao fluxo de execução normal." - Isso é verdade, pois o `ExceptionTranslationFilter` continua o fluxo de execução mesmo após uma exceção. 2. "Caso seja verificada uma exceção do tipo AuthenticationException, isso significa que o usuário está logado, mas não tem direito ao recurso." - Isso não está correto. Uma `AuthenticationException` geralmente indica que o usuário não está autenticado. 3. "Sempre que temos uma exceção do tipo AccessDeniedException, ocorre o redirecionamento para AuthenticationEntryPoint, para que as credenciais sejam fornecidas adequadamente." - Isso não é verdade. O `AccessDeniedException` geralmente leva a uma resposta de erro 403, não a um redirecionamento para o `AuthenticationEntryPoint`. 4. "Não permite detectar exceções do tipo AuthenticationException quando é utilizado o modelo de autenticação via OAuth 2.0." - Isso não é correto. O `ExceptionTranslationFilter` pode lidar com exceções de autenticação, independentemente do método de autenticação. 5. "Caso seja verificada uma exceção do tipo AccessDeniedException, teremos um erro 403 sendo devolvido para o navegador." - Isso é verdade. Quando ocorre uma `AccessDeniedException`, o sistema normalmente retorna um erro 403. Diante da análise, a opção correta é: E) Caso seja verificada uma exceção do tipo AccessDeniedException, teremos um erro 403 sendo devolvido para o navegador.