Galera,
Tô tentando destruir a sessão após uma action de logout, mas as variáveis de sessão não estão sendo destruidas(nulas)…
Já fiz implementações de duplos sentidos até como a seguir e nada : após dar logou e autenticar novamente no site, percebo que as variáveis de sessão permanecem com os mesmos valores, o q fazer pra realmente eu consiga destruir a sessão?
Ps: note q, na implementação abaixo, eu printo o nome e o valor do atributo antes de removê-lo, e depois ainda o seto para o null… porém, o atributo não deveria ter sido removido anteriormente tb? Então como ele "pega" o valor null ???
public String Logout() throws IOException {
String[] attbs = getRequest().getSession().getValueNames();
for (String attb : attbs) {
System.out.println("Atributo: " + attb + " é:" + getRequest().getSession().getAttribute(attb));
getRequest().getSession().setAttribute(attb, null);
getRequest().getSession().removeAttribute(attb);
System.out.println("Atributo: " + attb + " é:" + getRequest().getSession().getAttribute(attb));
System.out.println("Atributo limpo: " + attb);
}
HttpSession sessao = getRequest().getSession(true);
sessao.invalidate();
//this.errorMessage = false;
return Constantes.RESULTADO_SUCESSO_LOGOUT;
}
SAíDA:
10:22:29,906 INFO [STDOUT] Atributo: isAdmin
10:22:29,906 INFO [STDOUT] Atributo isAdmin é: -->null
10:22:29,906 INFO [STDOUT] Atributo limpo: isAdmin
10:22:29,906 INFO [STDOUT] Atributo: logado
10:22:29,906 INFO [STDOUT] Atributo logado é: -->null
10:22:29,906 INFO [STDOUT] Atributo limpo: logado
10:22:29,906 INFO [STDOUT] Atributo: isManager
10:22:29,906 INFO [STDOUT] Atributo isManager é: -->null
10:22:29,906 INFO [STDOUT] Atributo limpo: isManager
10:22:29,906 INFO [STDOUT] Atributo: visit
10:22:29,921 INFO [STDOUT] Atributo visit é: -->null
10:22:29,921 INFO [STDOUT] Atributo limpo: visit
10:22:29,921 INFO [STDOUT] Atributo: login
10:22:29,921 INFO [STDOUT] Atributo login é: -->null
10:22:29,921 INFO [STDOUT] Atributo limpo: login
10:22:29,921 INFO [STDOUT] Atributo: javax.faces.request.charset
10:22:29,921 INFO [STDOUT] Atributo javax.faces.request.charset é: -->null
10:22:29,921 INFO [STDOUT] Atributo limpo: javax.faces.request.charset