Como destruir uma sessão?

2 respostas
java
T

Olá pessoal!

Para invalidar uma sessão, meu professor passou o seguinte código:

HttpSession session = request.getSession(false);  
            if (session!=null)
                session.invalidate();

Mas depois do logout, quando eu clico em Voltar no browser, consigo recuperar a mesma em que havia logado. Como consigo eliminá-la? Agradeço desde já!

2 Respostas

L

No código responsável pelo logoff, coloque esse código:

response.setHeader("Cache-Control","no-cache,no-store,must-revalidate");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires", 0);

Isso irá desabilitar o cache, fazendo com que a segurança seja validada novamente, causando uma nova requisição ao servidor. É importante que suas páginas seguras tenham algum controle, como por exemplo, através de um filtro.

D

Você ainda pode complementar utilizando essa recomendação de código para realizar logout:

https://www.owasp.org/index.php/Logout

Abraço,

Criado 14 de abril de 2016
Ultima resposta 15 de abr. de 2016
Respostas 2
Participantes 3