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

Struts 1 Java Discussion :

[ Struts ]Gestion de l'objet session


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 69
    Par défaut [ Struts ]Gestion de l'objet session
    Salut à tous,
    Voila je développe une application web avec struts que je deploie sur Tomcat. Je souhaiterais qu'à l'expiration de la session l'utilisateur soit "forwardé" vers la page d'authentification. Cela est tres important dans la mesure où il m'arrive de stocker des choses dans l'objet session et une fois que celle ci expire il y'a une affreuse page d'erreur qui s'affiche...
    Serait ce juste une manipulation à faire au niveau du fichier web.xml? ou faut-il s'y prendre autrement? Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Par défaut
    Bonjour,


    A l'interieur de la fonction "execute" de ton Action, tu verifies que l'utilisateur est connecté.
    Pour celà, il faut que tu développes une petite fonction qui va vérifier si les infos élémenaires de ton utilisateur connecté existent (par exemple request.getSession().getAttribute("infoUser").
    Si c'est null alors tu rediriges vers la page d'authentification.

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Par défaut
    Exactement, a chaque connexion, tu n'as qu'a mettre par exemple le login du user dans un attribut en Session
    et à chaque début de tes pages "Action"
    tu vérifies cet attribut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    session = request.getSession();
    //Session expirée
    if(session.getAttribute("currentLogin")==null){
    return mapping.findForward("finSession");			
    }
    Autre solution mais qui demande un peu plus de boulot : implémenter HttpSessionListener pour gérer les sessions...

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 69
    Par défaut
    Salut à tous,
    j'ai pensé à cette solution mais l'ennui c'est que je devrais l'implémenter pour chaque Action, ce qui n'est pas tres élégant. Je vais creuser un petit peu cette histoire de HttpSessionListener.
    Merci à tous pour votre aide.

  5. #5
    Membre expérimenté Avatar de xv-mnt
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 142
    Par défaut
    Une solution "élégante" consiste à faire un héritage de classes d'action où la superclasse teste le login, où toutes les actions héritent de cette classe et appellent en premier super.execute().
    C'est codé à un seul endroit, et il suffit d'utiliser un global forward vers la page d'authentification.

  6. #6
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Auh, je te conseille plutot d'utiliser l'authentification Tomcat, puis de mettre en place le controle de la session utilisateur directement dans le controlleur.

    Le mettre au début de chaque action, ça veux bien dire qu'il devrait être dans le controlleur

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

Discussions similaires

  1. [struts][jsp] récupérer objet session dans ActionForm
    Par mlequim dans le forum Struts 1
    Réponses: 24
    Dernier message: 02/11/2005, 16h32
  2. [Struts]Gestion des timeout de session
    Par JohnBlatt dans le forum Struts 1
    Réponses: 3
    Dernier message: 13/12/2004, 14h49
  3. [Struts] Gestion de paramètres
    Par PeteMitchell dans le forum Struts 1
    Réponses: 12
    Dernier message: 28/06/2004, 09h32
  4. [Struts] Gestion de session
    Par Nuncyco dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/06/2004, 11h11
  5. [struts] Destruction bean formulaire de session
    Par k4eve dans le forum Struts 1
    Réponses: 4
    Dernier message: 06/05/2004, 17h34

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