26865

Back button Issue after Logout

Question:

I have gone through some links and spend hours but My page still loads after log out on clicking back button. here is my log out page code which i tried.

protected void Page_Load(object sender, EventArgs e) { if(Session[Constants.KeyValues.UserProfileSession]== null) { Response.Redirect("www.google.com", true); } ////Clear cookie and redirect user to login page (Landing page before login). Response.AddHeader("pragma", "no-cache"); Response.AddHeader("cache-control", "private"); Response.CacheControl = "no-cache"; Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1)); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetNoStore(); FormsAuthentication.SignOut(); Response.Cookies.Clear(); HttpContext.Current.Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); HttpContext.Current.Response.Cache.SetValidUntilExpires(false); HttpContext.Current.Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); HttpContext.Current.Response.Cache.SetNoStore(); Session.Clear(); Session.Abandon(); Session[Constants.KeyValues.UserProfileSession] = null; Response.Write("<script type=\"text/javascript\">window.location.replace('www.google.com');</script>"); //Response.Redirect("www.google.com", true); }

here is my html page

<!doctype html> <html lang="ko"> <head> <title></title> <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> <script type="text/javascript"> function ClearHistory() { var backlen = history.length; history.go(-backlen); window.location.href = www.google.com } </script> </head> <body onload="ClearHistory();"> </body> </html>

Here is the code of the page load where member go after login

protected void Page_Load(object sender, EventArgs e) { if(Session[Constants.KeyValues.UserProfileSession]== null) { Response.Redirect(SPContext.Current.Site.Url + "/_layouts/ABC/ShoppingLandingBeforeLogin.aspx", true); } }

Here are the links i have tried.

<a href="https://stackoverflow.com/questions/22306090/how-to-clear-browser-cache-when-user-log-off-in-asp-net-using-c" rel="nofollow">How to clear browser cache when user log off in asp.net using c#?</a>,

<a href="http://forums.asp.net/t/1319182.aspx?Clearing%20the%20Cache%20on%20Logout" rel="nofollow">How to prevent browser and proxy caching of web pages</a>,

<a href="http://www.codeproject.com/Tips/135121/Browser-back-button-issue-after-logout" rel="nofollow">Browser back button issue after logout</a>,

<a href="https://stackoverflow.com/questions/14920806/is-it-possible-to-onclick-history-clear" rel="nofollow">Clear History using javascript</a>,

<a href="https://stackoverflow.com/questions/12138812/back-button-of-browser-issue-in-asp-net-logout" rel="nofollow">back-button-of-browser-issue-in-asp-net-logout</a>

Answer1:

Try to use this, it works across all browsers.

Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1. Response.AppendHeader("Pragma", "no-cache"); // HTTP 1.0. Response.AppendHeader("Expires", "0"); // Proxies.

Recommend