使用Session作为登录,但是在退出后按IE上面的后退键,任可以返回需要登录才能看见的页面。如何解决这个问题??????

解决方案 »

  1.   

    取消缓存
    Response.Expires = 0;
    Response.AddHeader("pragma","no-cache");
    Response.AddHeader("cache-control","private");
    Response.CacheControl = "no-cache";
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetNoStore();
      

  2.   

    你在退出的时候清空Session. Session.Clear();
     每个需要登录才能看见的页面中加入对Session的判断语句,这样就知道用户是否登录了.如果不存在Session的话,重定向到登录页.
      

  3.   

    每页都判断Session值, 在退出后清除Session值。
      

  4.   

    这个问题比较有趣,我代楼主试了一下各位高人的方法1,如果取消缓存,后退后,页面还是可以显示的。是否能够操作还不知道。但是能够显示就没有达到目标吧。
    2,我是在page_UnLoad事件中清空session,但是结果和上面一样。
    也许试的过程中方法有错误,继续关注
      

  5.   

    还是不行阿!我使用了
    Response.Expires = 0;
    Response.AddHeader("pragma","no-cache");
    Response.AddHeader("cache-control","private");
    Response.CacheControl = "no-cache";
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetNoStore();
    以及
    Session. Session.Clear();
    但是还是可以返回!虽然不能再使用,但是还是可以返回!
      

  6.   

    呵呵,应该是没有退出按钮直接在浏览器中地址栏重新输入新的url,后来再后退,吧
      

  7.   

    搞定了!需要在每一张页面都加上
    Response.Expires = 0;
    Response.AddHeader("pragma","no-cache");
    Response.AddHeader("cache-control","private");
    Response.CacheControl = "no-cache";
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetNoStore();