63

ユーザーが[ログアウト]をクリックすると、ユーザーをログインページにリダイレクトしますが、ユーザーが再度ログインしたときにすべてのデータが保持されているため、アプリケーションやセッションがクリアされるとは思いません。

現在、ログインページにはログインコントロールがあり、ページの背後にあるコードはログイン認証にのみ接続されています。

誰かがASP.NETWebサイトへのログインとログアウトの処理に関する優れたチュートリアルまたは記事に私を導くことができますか?

4

9 に答える 9

70
Session.Abandon()

http://msdn.microsoft.com/en-us/library/ms524310.aspx

HttpSessionStateオブジェクトの詳細は次のとおりです。

http://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate_members.aspx

于 2008-12-05T21:15:51.177 に答える
33

以下を使用してセッションをクリアし、クリアしaspnet_sessionIDます。

HttpContext.Current.Session.Clear();
HttpContext.Current.Session.Abandon();
HttpContext.Current.Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
于 2014-11-14T18:13:58.127 に答える
21

を好むSession.Abandon()

Session.Clear()Endが発生することはなく、クライアントからのそれ以上の要求によってSessionStartイベントが発生することはありません。

于 2008-12-05T21:18:21.060 に答える
14

Session.Abandon()セッションを破棄し、Session_OnEndイベントがトリガーされます。

Session.Clear()オブジェクトからすべての値 (コンテンツ) を削除するだけです。はsession with the same keyまだaliveです。

したがって、 を使用するSession.Abandon()と、その特定のセッションが失われ、ユーザーはnew session key. たとえば、ユーザーがlogs out.

Session.Clear()ユーザーを同じセッションに残したい場合 (たとえば、再ログインさせたくない場合) を使用し、セッション固有のデータをすべてリセットします。

于 2012-08-18T09:36:25.113 に答える
1
<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>  
于 2011-05-25T12:33:20.797 に答える
0

Session.Clear();

于 2008-12-05T21:14:36.967 に答える
-1

プロジェクトのファイルGlobal.asax.csに移動し、次のコードを追加します。

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

それは私のために働いた..!参照リンク Logout MVC 4 でセッションをクリアする

于 2016-01-06T06:00:43.640 に答える