7

As new in asp.net. In my asp.net application in membership in log off on click event using function ClearSession(), but problem arises after log off if i click back button on browser it is forwarding to the cached page. How to clear cache in browser so a user could not view its profile if he is not login

protected void ClearSession()
{
    FormsAuthentication.SignOut();
    Session.Clear();
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.ExpiresAbsolute = DateTime.UtcNow.AddDays(-1d);
    Response.Expires = -1500;
    Response.CacheControl = "no-Cache";
}
3
  • Browser back button issue after logout Commented Mar 10, 2014 at 16:47
  • 1
    Note that you can't "clear browser cache" from either server of client portion of your page and you can't configure browser's behavior (you can advice browser about caching but not force). So if you are concerned about pages staying on user's machine you are really out of luck. Commented Mar 10, 2014 at 16:49
  • Possible duplicate of Making sure a web page is not cached, across all browsers Commented Jan 4, 2016 at 11:54

2 Answers 2

11

I think you are almost there. You need more HTML headers to support all browsers. According to this article on SO these are the ones that work on all browsers:

Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0

The full code for this is:

HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache, no-store, must-revalidate");
HttpContext.Current.Response.AddHeader("Pragma", "no-cache");
HttpContext.Current.Response.AddHeader("Expires", "0");
Sign up to request clarification or add additional context in comments.

Comments

0
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache"); 
response.setDateHeader("Expires", 0); 

These header will only work on pages on which they are included not for all the web application, so either you should add filter which include this header to all pages or you can disable back button.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.