Frage

ich leite die Benutzer auf die Login-Seite, wenn der Benutzer klicken jedoch ausloggen Ich glaube nicht, dass jede Anwendung oder Sitzung löscht, da alle Daten beibehalten, wenn der Benutzer anmeldet zurück.

Zur Zeit die Login-Seite hat eine Anmeldekontrolle und den Code hinter auf der Seite wird nur das Login-Authentifizieren verdrahtet.

Kann mir jemand direkt auf ein gutes Tutorial oder Artikel über den Umgang mit Log-in und aus ASP.NET-Websites?

War es hilfreich?

Andere Tipps

Ich verwende folgende Sitzung und klar aspnet_sessionID löschen:

HttpContext.Current.Session.Clear();
HttpContext.Current.Session.Abandon();
HttpContext.Current.Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));

Ich würde es vorziehen Session.Abandon()

Session.Clear() nicht End verursachen Feuer und weitere Anfragen vom Client die Session Startereignis nicht erhöhen.

Session.Abandon() zerstört die Sitzung und das Session_OnEnd Ereignis ausgelöst wird.

Session.Clear() entfernt nur alle Werte (Inhalt) aus dem Objekt. Die session with the same key noch alive.

Wenn Sie also Session.Abandon() verwenden, verlieren Sie, dass bestimmte Sitzung und der Benutzer wird eine new session key bekommen. Man könnte es zum Beispiel verwenden, wenn der Benutzer logs out.

Verwenden Session.Clear(), wenn Sie möchten, dass der Benutzer in der gleichen Sitzung verbleibenden (wenn Sie nicht wollen, ihn zum Beispiel relogin) und alle seine sitzungsspezifische Daten zurückgesetzt.

Gehen Sie Datei Global.asax.cs in Ihrem Projekt und fügen Sie den folgenden Code ein.

    protected void Application_BeginRequest()
    {
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.Cache.SetExpires(DateTime.Now.AddHours(-1));
        Response.Cache.SetNoStore();
    }

Es funktioniert für mich ..! Referenz-Link   löschen Sitzung auf Logout MVC 4

<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>  

Die Art und Weise die Sitzung des Löschens ist ein wenig anders für .NET Kern. Es gibt keine Abandon() Funktion.

ASP.NET-Core 1.0 oder höher

//Removes all entries from the current session, if any. The session cookie is not removed.
HttpContext.Session.Clear()

ansehen api Referenz hier

.NET Framework 4.5 oder höher

//Removes all keys and values from the session-state collection.
HttpContext.Current.Session.Clear(); 

//Cancels the current session.
HttpContext.Current.Session.Abandon();

Siehe api Referenz hier

Session.Clear ();

Session.Abandon () den Sitzungs-Cookie aus dem Browser nicht entfernen. Daher keine neuen Anfragen nach diesem die gleiche Sitzungs-ID nehmen. Daher verwenden Response.Cookies.Add (new Http ( "ASP.NET_SessionId", "")); (Nach Session.Abandon).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top