2014-02-20 53 views
0

需要清除瀏覽器後退按鈕上的會話(重定向到登錄或錯誤頁面),並且如果用戶再次在瀏覽器中粘貼相同的URL以訪問網頁或點擊瀏覽器轉發按鈕,因爲會話已過期/被放棄,因此重定向到登錄或錯誤頁面。在任何時間點,不應在瀏覽器緩存中顯示相同或任何應用程序網頁。如何清除/放棄會話,如果用戶點擊瀏覽器在asp.net中的後退按鈕

技術堆棧:

  • Microsoft.NET
  • Java腳本/ C#

  • IE7/8/9/10

  • Safari瀏覽器
  • Mozilla的
+1

的[asp.net處理返回註銷後按鈕事件]可能重複(http://stackoverflow.com/questions/3433485/asp-net-handling-back-button-event-after-logout) – CodeCaster

回答

3

不幸的是,大多數現代瀏覽器都會在用戶點擊返回按鈕後從緩存中重新加載頁面。沒有請求發送到服務器。

您可以嘗試通過addind元信息在HTML頭中禁用緩存:

<meta http-equiv="cache-control" content="max-age=0" /> 
<meta http-equiv="cache-control" content="no-cache" /> 
<meta http-equiv="expires" content="0" /> 
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> 
<meta http-equiv="pragma" content="no-cache" /> 

,但請記住,它的瀏覽器,它決定什麼內容從緩存中,哪些內容請求重新加載。

0

我不認爲禁用緩存是一個好主意。唯一對你很重要的是,用戶在登錄按鈕時必須登錄並重新開始。您需要有一個註銷頁面,用於執行註銷和清除會話所需的任何操作,然後在用戶導航離開時重定向到該頁面。

$(window).bind('beforeunload', function (event) { 
    //if(some condition that detects user hasn't clicked a link on your page) 
     location.href = "/signout.aspx"; 
} 
相關問題