IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[JSP] Destruction de session.


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 51
    Points : 43
    Points
    43
    Par défaut [JSP] Destruction de session.
    Bonjour à tous.

    Je n'arrive pas à détruire la session. Lorsque qu'on click sur le bouton précédent, on revient toujours dans la session et il faut rafraîchir la page pour que la protection de la session redirige la page vers l'authentification pourtant la session n'existe plus.
    J'ai tout essayé avec session.setAttribute("userSession",null), session.removeAttribute("userSession"),session.invalidate(),session=null, mais on peut toujours cliquer sur le bouton précédent et on revient dans la page session.

    Merci beaucoup de votre aide.

    A++

  2. #2
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Pour invalider la session il faut utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getSession().invalidate();
    Mais lorsque tu fais back dans ton browser, il ne recharge pas la page depuis le serveur mais la prend dans le cache du coté client. Donc dans tous les cas tu pourra voir cette page. Ce qui est possible c'est de toujours utiliser la commande javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    window.location.replace(url);
    Elle remplace la page ainsi tu ne gardera en page qu'une page ce qui est mieux mais pas encore optimal.

  3. #3
    zl
    zl est déconnecté
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 75
    Points : 90
    Points
    90
    Par défaut
    Dans l'appel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession().invalidate();
    ne faut-t-il pas passer le paramètre false comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession(false).invalidate();
    car il me semble [ je dois regarder la javadoc pour confirmation] que la valeur par défault est true ce qui entraine une création de session.
    Zl.

  4. #4
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Citation Envoyé par zl
    Dans l'appel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession().invalidate();
    ne faut-t-il pas passer le paramètre false comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.getSession(false).invalidate();
    car il me semble [ je dois regarder la javadoc pour confirmation] que la valeur par défault est true ce qui entraine une création de session.
    Zl.

    Non getSesion() retourne la session courant, getSession(true) en crée une nouvelle si et seulement il n'en existe pas.

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 51
    Points : 43
    Points
    43
    Par défaut
    J'ai essayé window.location.replace(url). ça marche mais je me demande s'il y a un moyen d'effacer l'historique des pages sessions visitées dans mon appli pour que l'utilisateur ne puisse plus retourner dans les pages sessions. Je pense à history en javascript, récupérer la longueur de history Array, puis récupérer l'url avec history item() mais je ne vois pas de méthode pour effacer l'url.

    Merci de votre aide

  6. #6
    Futur Membre du Club
    Profil pro
    Ingénieur d'étude spécialisé en GED BPM
    Inscrit en
    Avril 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur d'étude spécialisé en GED BPM

    Informations forums :
    Inscription : Avril 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Il est possible de forcer le navigateur à ne pas garder en cache les pages HTML générées par les pages jsp.

    Il sufit d'ajouter au début de la page jsp les instructions suivantes:

    <%
    response.setHeader("Pragma", "No-cache");
    response.setDateHeader("Expires", 0);
    response.setHeader("Cache-Control", "no-cache");
    response.setHeader("Cache-Control","no-store");
    %>

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. JSP : Destruction de la session utilisateur
    Par arkienou dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 05/09/2006, 16h56
  3. [JSP] Utilisation de session
    Par samios dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 02/11/2004, 11h17
  4. [SERVLET][JSP]conserver sa session
    Par jse dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 26/08/2004, 13h53
  5. [JSP] Gestion de sessions
    Par orisis dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2004, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo