Servlet+Filtros+Voltar do browser

0 respostas
71C4700

Nesta semana resolvi um problema que tinha quando utiliza Servlet ou JSP em conjunto com Filtros.

Quando utilizava filtros, sempre que clicava no botão de voltar do browser, a pagina ficava em cache, mesmo configurando o cabeçalho, response e tal.

Gostaria de postar, para saber se é uma boa solução ou apenas uma GAMBIARRA.

Na classe que realiza o Logout

HttpSession session = ((HttpServletRequest) request).getSession(false);
        session.setAttribute("usuario", null);
        session.invalidate();
        response.sendRedirect("admin/Restrito.jsp"); //Aqui eu redireciono pra uma pagina que exige que o usuario esteja logado

Este redirecionamento é, então, interceptado pelo Filtro, descrito abaixo, que verifica se o usuario está ou não logado.

Usuario usuario = (Usuario) session.getAttribute("usuario");
        if (usuario == null) {
            session.setAttribute("msg", "Você não está logado no sistema!");
            ((HttpServletResponse) res).sendRedirect("../index.jsp"); //Redireciona para a pagina principal, Home ou Login
         } else {
            chain.doFilter(req, res);
        }

A questão é: quando eu realizo o redirecionamento pra uma página restrita apenas para o filtro interceptar e encaminha o usuario para Home, isso é correto?

Criado 28 de março de 2010
Respostas 0
Participantes 1