2013-10-03 174 views
0

我在用戶登錄時在會話中存儲用戶名和密碼。註銷後,當我按下瀏覽器的「返回」按鈕時,它會再次進入用戶的主頁。我希望會話必須過期,以便在用戶按下返回按鈕後註銷後,他會重新登錄到登錄頁面。註銷後會話不會過期

我已經嘗試

Session.RemoveAll(); 
Session.Abandon(); 
Session.Remove("StoreUser"); 

StoreUser是一個包含用戶名和密碼的會話的名稱。

+3

你可以寫上的用戶主頁的頁面加載事件,並在該方法檢查,如果會議不存在值,比重定向到註銷 –

+1

你在登錄時檢查會話值頁面的方法 – SANDEEP

+0

你使用mvc或webforms,並且你使用了formauth嗎? –

回答

0

我用FormsAuthentication.SignOut();

,並在我的web應用的其他地方,我有這個在我的WebForm當用戶登錄:

<asp:LoginStatus ID="LoginStatus1" LogoutImageUrl="~/Img/Logout.png" 
    BackColor="Transparent" runat="server" onloggingout="LoginStatus1_LoggingOut" /> 

,這在後面的代碼:

protected void LoginStatus1_LoggingOut(object sender, LoginCancelEventArgs e) 
{ 
    MembershipUser u = Membership.GetUser(HttpContext.Current.User.Identity.Name); 
    u.LastActivityDate = DateTime.Now.AddMinutes(-Membership.UserIsOnlineTimeWindow); 
    Membership.UpdateUser(u); 
} 
0
## IN Global.asax file you have to clear all the session in Session_end event ## 
clear all the session in this event. 

    protected void Session_End(object sender, EventArgs e) 
{ 
// Code that runs when a session ends. 
// Note: The Session_End event is raised only when the sessionstate mode 
// is set to InProc in the Web.config file. If session mode is set to StateServer 
// or SQLServer, the event is not raised. 

}