Fermer volontairement la session d'un utilisateur [Résolu]

Signaler
Messages postés
18
Date d'inscription
vendredi 10 novembre 2006
Statut
Membre
Dernière intervention
9 octobre 2007
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour

Je voudrais savoir comment provoquer un Session_End volontairement voir comment fermer toutes les pages d'un site
donné volontairement pour obliger l'utilisateur a démarrer une nouvelle session ?

Qu'en est il de toutes les variables static ? sont elles réinitialisées ?

Merci

4 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
23
Bonjour,

Session.Abandon(); suffit  pas besoin de faire un clear puis un removeall ... par contre tant que tu restes sur la meme page tu auras accès à la session, il faut faire un redirect derrière le abandon(). Si le problème persiste regarde avec Fiddler au niveau des cookies si tu vois quelque chose de louche.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
23
Bonjour,

Session.Abandon() devrait faire ton bonheur. Les variables static sont global au niveau de l'application pas au niveau du user elles ne seront pas réinitialisé.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
Messages postés
18
Date d'inscription
vendredi 10 novembre 2006
Statut
Membre
Dernière intervention
9 octobre 2007

Bonsoir

Merci beaucoup..oui les variables static j'y ai pensé..
Messages postés
18
Date d'inscription
vendredi 10 novembre 2006
Statut
Membre
Dernière intervention
9 octobre 2007

Bonjour

Il me reste un probleme, quand l'utilisateur demande la defconnection via le menu, je le redirige vers la page de login et je fais

HttpContext

.Current.Session.Clear();

HttpContext.Current.Session.RemoveAll();

HttpContext.Current.Session.Abandon();

Je contaste que sur ma page de login je passe 2 fois ?? dans le
void

Session_Start(
object sender,
EventArgs e) de Global.asax

mais pas dans le

void Session_End(
object sender,
EventArgs e) de Global.asax

quand Abandon() est appelé ???

De plus ou en conséquence plutot le HttpContext.Current.Session.SessionID est toujours le même ? hors je me base sur cet id dans mes requetes de bd
Comment forcer cet id à être réinitalisé ?

Note : Je suis en mode debug mais quand même ca devrait changer