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

JSF Java Discussion :

avoir une seule session ouverte pour les memes identifiants


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Points : 12
    Points
    12
    Par défaut avoir une seule session ouverte pour les memes identifiants
    Salut je suis en train de developper une application web en utilisant le frame work jsf. je veux savoir comment on peut avoir une seule session ouverte pour les memes identifiants.
    Aidez moi et merci d'avance. (

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Tu entends quoi par là ?
    Tu veux dire que je me connecte à ton appli avec l'identifiant X, je prends un autre navigateur et je me connecte avec le même identifiant X. Alors je partagerais les mêmes informations sur les 2 navigateurs ?

  3. #3
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Points : 332
    Points
    332
    Par défaut
    apparament c'est ca ,
    mais je croix que tu doit gerer ca tous seul avec des bean de scope application
    et hashmap ou la cle et ton user...
    c'est juste une idee

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Un bon départ je pense serait de mettre les sessions au niveau serveur et non client, ce qui se définit sur le web.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>server</param-value>
    </context-param>

  5. #5
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    je suis à domicile et j'ai ouvert ma session de travail si kelk'un dans un autre endroit essaye d'ouvrir ma session(en utillisant mes identifiants)il doit etre informer ke cette session est ouverte déjà.
    romaintz svp où je dois mettre le code? estce que dans le fichier faces-config.xml?

  6. #6
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    Stocke dans ton contexte application l'identifiant des personnes connectées.
    Pour la connection c'est simple, mais peux t'on intercepter en JSF l'évenement session_end?

    En asp.net c'est très pratique : tout est dans le global.asax, en jsf...

  7. #7
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Citation Envoyé par doudi1983 Voir le message
    je suis à domicile et j'ai ouvert ma session de travail si kelk'un dans un autre endroit essaye d'ouvrir ma session(en utillisant mes identifiants)il doit etre informer ke cette session est ouverte déjà.
    romaintz svp où je dois mettre le code? estce que dans le fichier faces-config.xml?
    Je disais d'ajouter la ligne dans web.xml, donc je suppose que je parle du fichier web.xml Maintenant, ça ne sera pas suffisant pour résoudre ton problème dans la mesure où cela permet juste de stocker la session sur le serveur et non au niveau client. Ca ne partage pas du tout les informations de sessions !
    La solution de seddik_saber est plus appropriée pour toi...

    Dans ton explication, tu dis que si quelqu'un se connecte avec ton compte, il faut l'informer que la session est déjà ouverte... Ca veut dire quoi ? Lui refuser l'accès en lui disant "ce compte est actuellement en cours d'utilisation" ou lui indiquer mais que vous partagiez vos informations de sessions ?

  8. #8
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    lui refuser son accés car il peut etre un pirate ou le compte de vrai utilisateur est déjà piraté.

  9. #9
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    Le plus dur a mon avis sera de savoir lorsque un utilisateur s'est déconnecté et donc "relacher" son verrou.

  10. #10
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Il faut à mon avis gérer un hashmap login / session.

    A chaque nouveau login, vérifier s'il y a une session dans la hashmap, et si c'est le cas, vérifier que la session a été invalidée... Si la session existe est est valide, alors lever une exception AlorsOnEssaieDUsurperLIdentitieDeSonCamaradeException...

    Normalement, le timeout devrait faire l'affaire, dans le cas (fréquent) où l'utilisateur ne s'est pas déconnecter proprement...

  11. #11
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    Si il s'est pas déconnecté proprement sa session est active, donc ses credentials aussi, donc pas besoin de se reconnecter, donc il est pas accusé injustement

Discussions similaires

  1. Comment faire pour avoir une seule requête ?
    Par abdo1966 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 25/04/2013, 12h53
  2. Réponses: 1
    Dernier message: 26/03/2013, 17h42
  3. Réponses: 1
    Dernier message: 24/02/2012, 17h31
  4. avoir une seule page pour faciliter le transfert
    Par a_karim_fr dans le forum z/OS
    Réponses: 9
    Dernier message: 28/09/2009, 15h13
  5. Comment être sure de n'avoir qu'une seule session ?
    Par lemfi dans le forum Hibernate
    Réponses: 5
    Dernier message: 16/09/2009, 19h41

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