j'ai problème d'utilisation des sessions avec jsf richfaces.
Je récupère le contenu de ma session de la façon suivante ex. Personne p=(Personne)Authentification.session.getAttribute("personne",sessionuser);
Puis je récupère l'id de le personne en faisant int id=p.getId();
J'arrive bel et bien à récupérer le contenu de ma session,mais le problème intervient quand deux ou plusieurs utilisateurs sont connectés en même temps à mon application.
Le contenu de ma session est chaque fois modifié et tous les utilisateurs connectés ont comme id l'id de l'utilisateur qui s'est connecté en dernier lieu.
je voulais vraiment votre aide pour résoudre ce problème.
voici ma fonction de connexion dans laquelle j'ai utilise la session:
public String AuthentifierUser(){
if((this.login.trim().equalsIgnoreCase("")||this.login==null)&&(this.password.trim().equalsIgnoreCase("")||this.password==null)){ this.msg="Vous devez vous authentifier"; return null; } if(this.login.trim().equalsIgnoreCase("")||this.login==null){ this.msg="vous devez saisir votre nom d'utilisateur"; return null; } if(this.password.trim().equalsIgnoreCase("")||this.password==null){ this.msg="Vous devez saisir le mot de passe"; return null; }
this.msg="Vous n'etes pas reconnus par notre Base de donnees";
} }
return null; }
public static HttpSession getSessionUser(){ FacesContext cont=FacesContext.getCurrentInstance(); return (HttpSession)cont.getExternalContext().getSession(true);
}
Et l'utilisation de cette session je l'ai fait fait dans la fonction validervente suivante:
public void validervente(){ this.msg=""; if(Authentification.session==null){ this.msg="Vous devez commencer par vous authentifier"; return; } if(listecommandeclient.isEmpty()){ this.msg="Vous n'avez pas de commande a valider dans le tablau"; return; } Personnel p=(Personnel)Authentification.session.getValue("user"); int idpersonnel=p.getIdpersonnel(); String req="insert into vente(id_commande,id_pers,datevente) value"; for(int i=0;i<listecommandeclient.size();i++){ if(i<listecommandeclient.size()-1) req+="("+listecommandeclient.get(i).getIdcommande()+","+idpersonnel+",now()),"; else req+="("+listecommandeclient.get(i).getIdcommande()+","+idpersonnel+",now())"; }
if(useBD.ConnectionBD.ModifierBD(req)>0){ this.msg="L'insertion s'est effectuee avec succes"; this.listecommandeclient.clear(); this.idclient=-1; this.montant=0; return; } this.msg="L'insertion ne s'est pas effectuee"; }
Ca fait longtemps que je ne me connectes pas, c'est la seule raison qui fait que je ne vous avez pas encore remercier de votre aide.
En fait j'ai pu resoudre les problèmes des sessions dans mon application.
Le seul problème etait que je declarais mes variables des sessions static.
Juste quand j'ai modifie tout a marche.
PATRICK WITANENE KATAMBA Pagao
Probleme de gestion des sessions
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.