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

Tomcat et TomEE Java Discussion :

Gestion des sessions avec Tomcat


Sujet :

Tomcat et TomEE Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Points : 25
    Points
    25
    Par défaut Gestion des sessions avec Tomcat
    Bonjour,

    Après une formation sur l'administration de Apache (serveur Http) j'ai réalisé que j'avais de très grosses lacunes sur la gestion des sessions avec Tomcat.

    Ma question pourrait se résumer à :
    Comment fonctionne de manière générale le suivi de session ?

    Cette question peut se décliner en plusieurs sous questions :

    1) Le suivi de session se fait de manière générale via un session_id (identifiant de session) qui permet de faire le mapping côté serveur entre les attributs d'un client et son numéro de session.
    Comment est effectué la génération de ce session_id ? (est-ce Tomcat qui le génère) ou est-ce le navigateur (comme cela est décrit en cliquant ici) ?

    2) Ce session_id (pour Tomcat donc) est-il transmis de requête en requête dans le header (du fait que http est un protocole non connecté) sous la forme d'un attribut de l'entête http appelé "Session-Id", ou bien est-il transmis comme un champ caché, ou bien est-il transmis sous la forme d'un attribut de l'entête http appelé "Cookie"?

    3)Où est stocké le cookie côté serveur qui permet de faire le mapping entre id-session et attributs de l'utilisateur dans l'arborescence de Tomcat ?

    4) Enfin question qui m'interpelle également : il semble qu'en php cet identifiant de session soit généré par le serveur PHP lui-même ; a-t-il un rapport avec l'identifiant de session généré par le navigateur ?

    Merci.
    Et désolé si jamais j'ai dis des énormités...

  2. #2
    Membre habitué Avatar de sewatech
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 166
    Points
    166
    Par défaut
    Question 1)
    C'est Tomcat qui génère l'id de session.

    Question 2)
    L'id est transféré entre client et serveur sous forme d'un cookie. Si les cookies sont refusés par le navigateur, il est transmis sous forme de paramètre dans la requête (j_session_id)

    Question 3)
    Le cookie n'est pas stocké coté serveur. Celui-ci ne conserve que l'id, en mémoire.

    Question 4)
    Je ne sais pas, je ne connais pas le principe de l'identifiant de session généré par le navigateur.

    Conclusion : je n'ai trouvé d'énormité

    Alexis

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    Salut,
    Merci pour ces éclaircissements

    Par rapport aux dernières réponses :
    1) ok
    2) ok
    3) Après quelques recherches, il semblerait que cela ne soit pas tout à fait cela : un cookie serveur existe bien côté Tomcat : il est stocké dans le fichier SESSIONS.ser dans le répertoire work de Tomcat (sérialisation des attributs de session)
    4) Par contre je suis toujours perplexe au niveau de la génération de l'identifiant de session par le navigateur.

    Y-a-t-il quelqu'un qui puisse me dire s'il s'agit d'une pratique marginale, et la corrélation avec le serveur Apache ? (qui doit nécessairement géré cet identifiant d'une manière ou d'une autre puisque cela semble être indépendant du serveur d'application)

  4. #4
    Membre habitué Avatar de sewatech
    Inscrit en
    Février 2007
    Messages
    141
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Février 2007
    Messages : 141
    Points : 166
    Points
    166
    Par défaut
    3)
    Le fichier SESSIONS.ser est indépendant de la mécanique des cookies. Il s'agit d'un fichier qui contient la version sérialisée de l'ensemble des sessions.

    Ce mécanisme permet de recharger les sessions après redémarrage. Il est possible de désactiver l'écriture de ce fichier (cf. Session Manager dans context.xml).

    Alexis

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 25
    Points : 25
    Points
    25
    Par défaut
    3) Ok merci. En vérité j'avais mal formulé ma question ; ma question était plutôt : où sont stockées les données sessions de l'utilisateur ? Et la réponse (dis-moi si je me trompe) semble être :
    - ces données sont stockées dans l'objet HttpSession associé à l'id j_session_id
    - cette instance de la classe HttpSession est stockée dans le "Heap" c'est à dire la zone de mémoire gérée par le Garbage Collector.
    D'ailleurs c'est cela qui doit certainement expliqué l'existence de Session.ser : si jamais on arrête le tomcat, cette zone mémoire est détruite, donc impossible de récupérer les données de sessions sauf si elles sont devenues persistantes.

    4) pas de news pour le moment ...

    a+

Discussions similaires

  1. gestion des session dans Tomcat 6.0 (aide+conseil)
    Par norten dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 12/05/2009, 17h11
  2. [MySQL] Gestion des sessions avec login et password
    Par jeremay dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/07/2008, 07h53
  3. Gestion des sessions avec 2 serveurs et 1 loadbalancer
    Par scorpia dans le forum Langage
    Réponses: 4
    Dernier message: 19/02/2007, 09h56
  4. gestion des sessions avec le controller struts
    Par don'de dans le forum Struts 1
    Réponses: 4
    Dernier message: 18/12/2006, 18h21
  5. Gestion des sessions avec applet
    Par Mister Nono dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 01/08/2006, 18h27

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