1
resposta

Não detalhou problema no filtro global, nem ensinou resolução.......

Aos 12 minutos o instrutor simplesmente comentou uma parte do código (filtro global), pois isso daria problema na aplicação.......

Não explicou qual seria o problema, muito menos como resolvê-lo. Caso deixe o filtro global, a pagina de login fica inacessível, e caso não utilize, vc terá que anotar todas classes (o que simplesmente invalidaria O QUE ELE MESMO ENSINOU UTILIZANDO FILTROS GLOBAIS).........

1 resposta

Olá, Maurício

Vou usar a resposta do nosso instrutor Lucas Takeshi em outro post similar ao seu:

O problema de deixar o AutorizacaoFilterAttribute como um filtro global é que ele é aplicado para todos os controllers. No caso do Login, precisamos que ele ignore este filtro na hora que for chamado.

Para fazer esta exceção no LoginController, no Asp.net MVC 5 eles criaram uma interface IOverrideFilter, em que você define uma propriedade FiltersToOverride que recebe qual filtro precisa ser ignorado.

Aqui tem o link com a estrutura. A ideia é você criar uma classe que implementa esta interface IOverrideFilter e na sobrescrita da propriedade FiltersToOverride você passe como typeof o seu AutorizacaoFilterAttribute. Ai basta anotar o seu LoginController com esta classe que implementa o IOverrideFilter para que o filtro de autorização seja ignorado para este controller.