2010-12-15 84 views
0

Je configure et récupère les attributs de session sur la page de connexion, lorsque je me déconnecte de la page et que j'appuie sur le bouton de retour, elle retourne à la page d'accueil.Problème de session dans JSP

Voici mon code,

::::::::::::::::::::::::::**sessionaction.jsp**:::::::::::::::::::::::::::::::::::::: 

<%@page import="java.util.*" %> 
<% 
    String str = request.getParameter("UserName"); 
    session.setAttribute("sessUserName", request.getParameter("Password")); 
%> 

<% 
    if (session.getAttribute("sessUserName").equals("")) 
    { 
     response.sendRedirect("login.jsp"); 
%> 

<% 
    } 
else 
    { 
     response.sendRedirect("home.jsp"); 
    } 
%> 


::::::::::::::::::::::::::**logout.jsp**:::::::::::::::::::::::::::::::::::::: 
<%@page import="java.util.*" %> 

<% 
//session.invalidate(); 
session.removeAttribute("sessUserName"); 
%> 

You have logged out. Please 
<a href="login.jsp"><b>Login</b></a> 

me conduiras Veuillez.

Répondre

2

Essayez:

if (session.getAttribute("sessUserName") == null) 
2

Set Cache-têtes

response.setHeader("Cache-Control","private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); 

également

si les balises meta nécessaires pour Cache-Control

+0

@thanks Asaph. Besoin de s'habituer avec des extraits –

1

cause racine, je crois, est déjà suggéré par l'utilisateur sje397 (accepter sa réponse), je suis seulement élaborer ici. La raison en est que votre invalidation de session n'est pas synchronisée avec le code de votre login.jsp.

Vous supprimez l'attribut de la session qui signifie que le code ci-dessous

if(session.getAttribute("sessUserName").equals("")) 

devrait être remplacé

if(session.getAttribute("sessUserName")==null) 

Autres: Le bouton retour pourrait juste afficherez la page d'accueil de son locale cache Essayez disabling the cache et voyez si cela fonctionne.