64 votes

ASP.NET: comment effacer la session lors de la déconnexion

Je redirige l'utilisateur vers la page de connexion lorsque l'utilisateur clique sur Déconnexion, mais je ne pense pas que cela efface l'application ou la session, car toutes les données ont persisté lorsque l'utilisateur s'est reconnecté.

Actuellement, la page de connexion a un contrôle de connexion et le code en arrière sur la page est seulement câblé à la connexion Authentifier.

Quelqu'un peut-il me diriger vers un bon tutoriel ou un article sur la gestion de la connexion depuis et vers les sites Web ASP.NET?

70voto

Ryan Cook Points 5613

21voto

AnthonyWJones Points 122520

Je préférerais Session.Abandon()

Session.Clear() n'entraînera pas le déclenchement de la fin et les autres demandes du client ne déclencheront pas l'événement de début de session.

14voto

BrainCoder Points 666

Session.Abandon() détruit la session et l' Session_OnEnd événement est déclenché.

Session.Clear() seulement supprime toutes les valeurs (contenu) de l'Objet. L' session with the same key encore alive.

Donc, si vous utilisez Session.Abandon(), vous perdez une session spécifique et l'utilisateur recevra un new session key. Vous pouvez l'utiliser par exemple lorsque l'utilisateur logs out.

Utiliser Session.Clear(), si vous voulez que l'utilisateur reste dans la même session (si vous ne voulez pas lui reconnecter par exemple) et de réinitialiser tous sa session de données spécifique.

1voto

Lucky Points 19
<script runat="server">  
    protected void Page_Load(object sender, System.EventArgs e) {  
        Session["FavoriteSoftware"] = "Adobe ColdFusion";  
        Label1.Text = "Session read...<br />";  
        Label1.Text += "Favorite Software : " + Session["FavoriteSoftware"];  
        Label1.Text += "<br />SessionID : " + Session.SessionID;  
        Label1.Text += "<br> Now clear the current session data.";  
        Session.Clear();  
        Label1.Text += "<br /><br />SessionID : " + Session.SessionID;  
        Label1.Text += "<br />Favorite Software[after clear]: " + Session["FavoriteSoftware"];  
    }  
</script>  



<html xmlns="http://www.w3.org/1999/xhtml">  
<head id="Head1" runat="server">  
    <title>asp.net session Clear example: how to clear the current session data (remove all the session items)</title>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
        <h2 style="color:Teal">asp.net session example: Session Clear</h2>  
        <asp:Label   
            ID="Label1"   
            runat="server"   
            Font-Size="Large"  
            ForeColor="DarkMagenta"  
            >  
        </asp:Label>  
    </div>  
    </form>  
</body>  
</html>  

0voto

BobbyShaftoe Points 19925

Session.Clear ();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X