我有以下注銷代碼。當它註銷時,但當按下後,它不應該去以前訪問的頁面,但它確實。註銷C#不工作
//當登錄
if (txtPassword.Text == password)
{
Session["Login"] = true;
Response.Redirect("AdminControlPanel.aspx");
}
//當註銷
Session["Login"] = false;
Session.Abandon();
FormsAuthentication.SignOut();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetAllowResponseInBrowserHistory(false);
Response.Redirect("~/index.aspx");
//上adminpanel.aspx
if (!this.Page.IsPostBack)
{
if (this.Session["Login"]==null || (bool)this.Session["Login"]==false)
{
base.Response.Redirect("~/index.aspx");
}
}
檢查有什麼不對呢?
穿上它斷點,並檢查會話[「登錄」]的價值。 –
可能重複? http://stackoverflow.com/questions/2686946/asp-net-authentication-login-and-logout-with-browser-back-button –
你無法控制瀏覽器,所有代理之間的等等遠處理用戶按「後退」。這可能是爲什麼如此多的註銷頁面要求用戶關閉瀏覽器窗口。只要數據曾經在瀏覽器中查看過,它可能在一個或多個高速緩存中並且可以復活,緩存控制可能會或可能不會被鏈中的任何中間人正確承認。 –