我知道這已被問及以前已回答很多次,相信我已經通過所有帖子尋找解決方案,然後再詢問。ASP.Net註銷不按預期工作
如果用戶登錄頁面,獲取URL副本,註銷然後將URL粘貼回瀏覽器,他們可以在瀏覽器重定向到登錄之前非常簡單地訪問他們以前訪問過的頁面頁面再次。在這個簡短的窗口中,如果鼠標速度足夠快,並且可以點擊按鈕或其他控件,它們會以某種方式重新登錄到網站,而不會問任何問題。
我已經嘗試從主題上的另一個線程包括以下代碼建議到每個Page_Load事件,以避免緩存但沒有成功。從logout.aspx
private void ExpirePageCache()
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now - new TimeSpan(1, 0, 0));
Response.Cache.SetLastModified(DateTime.Now);
Response.Cache.SetAllowResponseInBrowserHistory(false);
}
代碼如下:
protected void Page_Load(object sender, EventArgs e)
{
FormsAuthentication.SignOut();
HttpContext.Current.Session.Clear();
HttpContext.Current.Session.Abandon();
Response.Redirect("~/Account/Login.aspx");
}
我應該使用Server.Transfer()
代替Response.Redirect()
?
我讀過的地方,我不允許以編程方式清除瀏覽器的歷史,所以有點卡住了。任何人都有任何線索嗎?