Comment invalider la session du navigateur
Comment puis-je invalider la Session du Navigateur. Je suis à l'aide de JSP.
Dans web.xml
la session-timeout
est de 180 secondes et je le veux comme ça. Mais le problème est sur une occasion spéciale pour certains de l'utilisateur de la session du navigateur doivent être invalidé immédiatement à droite après la soumission d'un formulaire.
J'ai utilisé session.invalidate();
d'invalider la session et également utilisé
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
Mais, quand je clique sur le bouton de retour, il va me prendre pour la même session des utilisateurs. Est-ce le chargement à partir de la mémoire cache du navigateur?
C'est ce que j'ai dans ma JSP :
<head>
<script type="text/javascript">
function submitForm(){window.document.submitFrm.submit();}
</script>
</head>
<body onload="submitForm()">
<%String output = (String)(request.getAttribute("strOut"));
String hookUrl = (String)(request.getAttribute("hookUrl"));
System.out.println("hookUrl in cwsGroup.jsp : "+hookUrl);%>
<form method="post" action="<%=hookUrl%>" name="submitFrm" id="submitFrm">
<input type="hidden" name="cxml-urlencoded" value='<%=output%>' />
</form>
<%
response.setHeader("Cache-Control","no-cache");
response.setHeader("Pragma","no-cache");
response.setDateHeader( "Expires", 0 );
session.removeValue("domineName");
session.invalidate();%>
</body>
Suis-je raté quelque chose?
Il ressemble à cache du navigateur. Après vous cliquez sur le bouton de Retour, essayez d'ajouter un nombre aléatoire à votre URL comme rand=234234 & actualiser. Si il ne redirige pas vers la page de login (si u ont l'authentification de l'installation) puis la séance de validation ne serait pas arrivé. Peut-être sur la forme de la charge, vous pouvez avoir un AJAX battement de coeur de vérifier si votre toujours en session active qui peut battre le cache du navigateur.
OriginalL'auteur Warrior | 2011-03-22
Vous devez vous connecter pour publier un commentaire.
Ces en-têtes sont incomplètes. Cela ne fonctionne que sous Internet Explorer, mais non dans d'autres. La série complète est
Et vous devez également mettre dans le précédente pages JSP. L'appel de cette l'intérieur d'une JSP serait seulement désactiver la mise en cache de la actuel page JSP. Vous avez besoin de copypaste sur toutes les pages JSP (frisson). Ou mieux encore, utiliser une
Filter
pour ce qui est mappé sur*.jsp
. Pour un exemple, voir cette réponse.Ces en-têtes doit être mis sur les réponses pour lequel vous souhaitez désactiver le cache du navigateur. Paramètre sur la réponse de la déconnexion, l'action ne serait évidemment pas mettre sur toutes les autres réponses qui sont déjà été envoyé.
alors, que faire pour accomplir mon objectif ? dois-je poser une autre question pour vous ?
OriginalL'auteur BalusC
Comme vous l'avez dit, onclicking bouton de retour de la session est d'arriver à les invalider. Merci DONC de faire des session d'invalider la session sur le bouton de Retour de l'événement.
s'il vous plaît ajouter
"<" ">"
pour le premier et lasr ligne dans l'extrait de codeOriginalL'auteur developer