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 :

Authentification et récupération de session


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 85
    Par défaut Authentification et récupération de session
    Bonjour,

    Je suis en train de développer un formulaire mais qui pourrait vite devenir très long à compléter (une dizaine de pages).
    a des fins d'utilisabilité, je voudrais donc autoriser l'utilisateur à quitter l'application pour y revenir plus tard, et retrouver les données qu'il a déjà introduites.
    Il faudrait donc en plus une identification par login/mot de passe.

    Utilisant JSP avec Tomcat, mais n'y connaissant pas grand chose, je me réfère à vous pour savoir s'il existe des techniques ou technologies particulières qui pourraient m'aider à cette tâche.

    Pour info, toutes les données que l'utilisateur introduits sont enregistrées dans des variables de sessions JSP. Serait-il alors possible de "sauvegarder" une session afin de la récupérer par la suite ?


    Un grand merci d'avance,

    NikoBe

  2. #2
    Membre Expert
    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
    Par défaut
    Salut

    en théorie oui, une session étant serializale, tu peux la sérialiser et la déserialiser quand l'utilisateur se reconnecte. Mais comme il faut quand même que sauve l'objet sérialiser pourquoi ne pas (et c'est plus propre) ne pas sauvegarder les données directement en db ?

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 85
    Par défaut
    De fait, je pensais aussi à tout sauver en DB, mais après réflexion (petite) et vu la manière dont est construite l'application, ce sera sans doute plus simple de serialiser/déserialiser la session (je ne sais pas encore exactement ce que ça veut dire, mais je vais faire des recherches)

    Pour l'instant, l'utilisateur peut 'naviguer' à travers toutes les pages du formulaires un peu comme il le souhaite sans perdre ses données.

    exemple pour les input "text"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" name="nom_uti" value="<%= session.getAttribute("nom_uti") %>" />
    Ce qui à priori voudrait dire que si on recharge la session correctement, tous les champs du formulaire seraient automatiquement réalimentés.

    (Après ça, il restera encore le problème de connexion par login/mdp)

  4. #4
    Membre Expert
    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
    Par défaut
    Sérialiser la session n'est vraiment un bonne pratique, mais si tu le fais tout de même veille a n'avoir que des objets qui implements serializable (De toutes facon sinon tu prendra une erreur @runtime)

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 85
    Par défaut
    Comme je l'ai dit plus haut, je ne suis vraiment pas expert dans ces technologies.
    Donc si serialiser n'est pas une bonne pratique, je préfère tout de même sauver en DB (note que je n'ai pas d'objets à proprement parler à sauver, uniquement les attributs de sessions).

    C'est sans un peu bcp demander, mais est-ce que qqn pourrait me guider/m'orienter sur la manière d'implémenter tout ça ? et surtout sur la partie connexion par login/mot de passe

    Encore merci !!

  6. #6
    Membre Expert
    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
    Par défaut
    En fait ta premiere erreur est de ne pas passer par des objets pour sauvegarder les données de l'utilisateur. En fait la démarche normale est d'utiliser un framework MVC, celui-ci pourra mapper les champs html vers un objet java apres tu n'aura plus qu'a (oui je sais yaka) les sauver en db.
    Framework MVC : Spring Webflow, struts, etc...
    Dans ton cas je te conseille Spring Webflow puisqu'il permet de facilement gerer des flow (type wizard) en sauvegardant les informations dans le flow et non pas dans la session (ce qui est aussi une mauvaise pratique, pour des raisons de mémoire).

    voila

Discussions similaires

  1. Authentification / Durée d'une session
    Par MaxLaMenaX dans le forum Sécurité
    Réponses: 3
    Dernier message: 20/02/2009, 13h44
  2. Récupération de session
    Par souska dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 27/01/2009, 14h35
  3. Récupération login session windows
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 26/08/2006, 10h28
  4. Récupération de session
    Par ederf dans le forum Applets
    Réponses: 2
    Dernier message: 28/07/2006, 12h47
  5. [XML] [cURL] Authentification Php récupération de données
    Par thibaut06 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/02/2006, 14h23

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