小弟最近做一个项目,用session保存用户的登陆信息,正常的登录和退出都没有问题但发现一个问题,当log out转到login页面后,在login页面上点IE浏览器的“后退”按钮,还是可以转到数据页面。请问这是怎么回事?如何解决?

解决方案 »

  1.   

    Session.Abandon();一旦调用了 Abandon,当前会话就不再有效,然后可以启动一个新会话。Abandon 导致引发 End 事件(对下一个请求引发一个新的 Start 事件)。仅当 Mode 为 InProc 时才支持 End 事件。
      

  2.   

    楼上的兄弟:
    调用了Session.Abandon();后,点“后退”按钮就不会出现我所说的问题的了吗?
      

  3.   

    META HTTP-EQUIV="pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
    <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">ASP网页<%
    Response.Expires = -1
    Response.ExpiresAbsolute = Now() - 1
    Response.cachecontrol = "no-cache"
    %>
    点击后退,看到的是页面的缓存,禁用缓存(客户端)可以起到一定作用
      

  4.   

    这个跟session怎么处理是没有任何关系的.
      

  5.   

    要在数据页加session控制,判断是否为空!
      

  6.   

    登录判断Session不会有用的.他已经记录session了.
      

  7.   

    可行的方法还是----shalen520(Love will keep us alive) ( ) 信说的那样.
      

  8.   

    shalen520(Love will keep us alive)Session.Abandon();一旦调用了 Abandon,当前会话就不再有效,然后可以启动一个新会话。Abandon 导致引发 End 事件(对下一个请求引发一个新的 Start 事件)。仅当 Mode 为 InProc 时才支持 End 事件。
    ---------------------------------------------------------------------可是在Session_End 中对文件更改操作并没有效果,请解释一下!!!
      

  9.   

    hchxxzx(NET?摸到一点门槛)说的是对的
    我遇到过一样的问题,是因为你的页面被缓存到了本机上,你按回退时是访问了internet临时文件夹里的缓存文件,所以好像session还管用一样,你要是把临时文件夹里的缓存文件删除了就不会出现这样的现象了。
    解决方法:你把下面这段代码加到page_load里的开始位置,使本机不能缓存该页面就可以了
    Response.Expires = -1
    Response.ExpiresAbsolute = Now() - 1
    Response.cachecontrol = "no-cache"
      

  10.   

    howard986() 是每页的Page_Load的页面都需要加吗?还是只加在login.aspx页面?
      

  11.   

    我回答了你可要给分哦,我的网站就是这样设计的,其他人说的有问题(不是.net实现方式):
    你要考虑3个问题
    1.这样的页面不能缓存
    Response.Cache.SetCacheability(HttpCacheability.Server)把他放在page_load里
    2.这样的页面要立即过期
    Response.Cache.SetExpires(Now.AddSeconds(-50))把他放在page_load里
    3.注销后页面SESSION为空
    Session.Abandon()你想放哪里就放在那里!
    给分.......!
      

  12.   

    其实 注销的时候只要吧对应的session 清空就行了吧.然后设个页面过期
      

  13.   

    LZ可以这样做:
    当退出时,打开新的页面(logout),并关闭前面的页面,在logout页面转向login页面,这样后退就不会出现数据页面啦
      

  14.   

    newline2000(接近崩溃) 
    方法不错,功能实现了给分!!!!谢谢!!!