Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Os filtros não estão sendo executados na ordem esperada

Estou nas atividades do segundo video, onde implementamos o AutorizacaoFilter, mas pra mim o MonitoramentoFilter é executado primeiro e o AutorizacaoFilter não é executado duas vezes (e antes do MonitoramentoFilter), como é esperado segundo o instrutor. Alguma ideia do que posso ter feito de errado?

3 respostas

Oi Roberto, tudo bem?

Como está a ordem de definição dos filters no seu web.xml?

O seu AutorizacaoFilter fez o redirect para o login?

Oi Otávio! Obrigado por responder!

Nessa parte em que eu estava ele ainda não havia falado sobre a definição da ordem dos filtros no web.xml então não há nenhuma definição de filtro lá.

Eu achei estranho porque pelo que entendi que o motivo de passar duas vezes é porque ele está acessando a ação ListaEmpresas que não é permitida, daí, passa-se pelo AutorizacaoFilter uma vez, verifica que a ação não é permitida e redireciona para o LoginForm, onde o navegador chama essa ação e logo passa-se pelo filtro de autorização uma segunda vez, mas por algum motivo no meu console ele só mostra que passou uma vez.

Enfim, vai entender! ¨\o/¨

Com relação à ordem, pelo que o Nico fala no video não há controle dessa ordem a não ser que ela esteja definida no web.xml.

solução!

Voltei!

Aparentemente esse comportamento ocorre quando o MonitoramentoFilter é executado primeiro, pois depois que defini explicitamente a ordem no web.xml, fazendo com que o AutorizacaoFilter seja executado primeiro, o comportamento fica igual ao do video.

Como quando a ordem é definida aleatóriamente pelo Tomcat, ele decidiu fazer diferente pra mim só pra me confundir!

Obrigado pela força! Como marco como resolvido?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software