Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Utilização de filtro para controle de acesso

Bom dia, instrutor. como vai? Tenho um projeto aqui desenvolvido com servlet que implementa controle de acesso no filtrodeAuditoria, verificando existência de session, conforme foi mostrado no curso correspondente aqui na Alura. A parte de session funciona certo, porém quando se tenta incluir um FIltroDeAuditoria ("@WebFilter(urlPatterns = "/*") public class FiltroDeAuditoria implements Filter { ), começa a redirecionar incorretamente. Tentei implementar mais ou menos a mesma logica do curso de spring, mas continua redirecionando de forma errada. Como no curso de Servlet não existe essa parte presente no curso de Spring, gostaria de saber se existe algum padrão para não reinventar a roda, conforme se diz.

if (req.getSession().getAttribute("usuario.logado") != null)            
            usuarioLogado = true;

        if (uri.endsWith("efetuaLogin") || uri.endsWith("loginForm.html") || uri.endsWith("usuario-nao-logado.html")
                || usuarioLogado) {
            System.out.println("FiltroDeAuditoria: libera solicitacao para " + uri.toString());
            chain.doFilter(request, response);
        } else {
            System.out.println("FiltroDeAuditoria: encaminha para loginForm.html");
            RequestDispatcher dispatcher = req.getRequestDispatcher("/WEB-INF/paginas/loginForm.html");
            dispatcher.forward(req,  resp);            
        }

Obrigado.

1 resposta
solução!

Opa Odante, olhando seu código, não vejo nada de equivocado. Qual o redirecionamento que acontece? Pode dar um pouco mais de detalhes... só olhando esse trecho não vi nada de errado.