Filtros no ASP.NET MVC 5
Gabarito: letra B. A interface IOverrideFilter é a única que permite a um filtro sobrescrever outros filtros definidos em escopos superiores (como filtros globais ou de controller). As demais interfaces representam tipos específicos de filtros (ação, autorização, resultado, exceção) que não possuem essa capacidade de substituição.
Alternativa A — ❌ Incorreta
IActionFilter é utilizada para criar filtros que executam antes e depois da ação do controller, mas não sobrescreve filtros de escopos superiores.
Alternativa B — ✅ Correta ⟵ GABARITO
IOverrideFilter é a interface própria para que um filtro substitua (override) filtros aplicados em níveis mais abrangentes. É geralmente implementada quando se deseja desabilitar um filtro global em uma action ou controller específico.
Alternativa C — ❌ Incorreta
IAuthorizationFilter é responsável pela lógica de autorização, verificando se o usuário tem permissão para acessar o recurso. Não tem relação com sobrescrita de filtros.
Alternativa D — ❌ Incorreta
IResultFilter é usada para modificar o resultado da ação (a view, JSON, etc.), sendo executada antes e depois da execução do resultado. Não substitui filtros.
Alternativa E — ❌ Incorreta
IExceptionFilter trata exceções não tratadas durante a execução da ação, permitindo exibir uma view de erro ou log. Não possui função de sobrescrita.
Gabarito: letra B