Bonjour,
J'utilise Session.Abandon() mais je parviens toujours à naviguer dans les pages après déconnexion!
J'ai spécifié enableSessionState="True" en haut d'une page aspx pour voir mais pas de différence.
Que dois-je faire svp?
Merci ;)
Version imprimable
Bonjour,
J'utilise Session.Abandon() mais je parviens toujours à naviguer dans les pages après déconnexion!
J'ai spécifié enableSessionState="True" en haut d'une page aspx pour voir mais pas de différence.
Que dois-je faire svp?
Merci ;)
euh il me smeble que session.remove() est mieux.
Sinon tu peux egalement détruire juste un session spécifique session.remove("nomdesession").
Regarde voir la différence entre remove et abandon
Non Session.Remove("nom de l'objet") permet de supprimer des infos stockées dans la session.
C'est bien Abandon que je dois utiliser, c'est certain.
Mais je me pose plus généralement la question de la gestion de la session dans l'appli : est-ce que je dois tester au chargement de chaque page la présence de la session ou est-ce géré par .Net?
dans mon code j'ai un bouton "changer d'utilisateur" qui lorsque je clique fait.
Il me semble qu'effectivement il gardait des choses en mémoires quand je le faisais au début et maintenant plus de pbCode:
1
2
3
4
5 Session.removeALL(); Session.Abandon(); Response.Redirect("~/Login.aspx", false);
J'ai rajouté Session.RemoveAll() : maintenant ça fonctionne sauf sur ma page default.aspx... ???
Après déconnexion je peux toujours y accéder.:?
Ma config pour info:
Code:
1
2
3
4
5
6
7
8 <authentication mode="Forms"> <forms name="TicketCookie" loginUrl="UI/log-on.aspx" timeout="30" path="/"/> </authentication> <authorization> <deny users="?" /> </authorization> <sessionState mode="InProc" cookieless="false" timeout="20"/>
Dans mon cas je n'ai pas la ligne <sessionstate>
et si tu retourne sur le UI/log-on.aspx, avec response.redirect("",false);
ça ne marche toujours pas?
C'est bon c'est résolu! Il fallait supprimer le cookie que j'avais créé au login et tester la présence de session.
A la déconnexion:
et j'ai mis un test au chargement de chaque page:Code:
1
2
3
4
5
6 FormsAuthentication.SignOut(); Session.RemoveAll(); HttpContext.Current.Response.Cookies.Remove("TicketCookie"); Session.Abandon(); Response.Redirect("UI/log-on.aspx", false);
Code:
1
2
3 if (Session["CURRENT_USER"] == null) Response.Redirect("UI/log-on.aspx", true);