我的用户登入是用session保存的,当我退出时做了session清空操作  FormsAuthentication.SignOut();
                Session.Clear();
                Session.Abandon();
                Response.Clear();
                //清空缓存 
                Response.Buffer = true;
                Response.ExpiresAbsolute = System.DateTime.Now.AddDays(-1);
                Response.Expires = 0;
                Response.CacheControl = "no-cache";
                Response.AddHeader("pragma", "no=cache");问题:当我退出后,直接输入文件地址,session值依然存在?请问是为什么?怎么处理?

解决方案 »

  1.   

    第一:楼主的结贴率:101.28%是如何算的啊!csdn也忒厉害啦!呵呵...
    第二:楼主看看你的这个SignOut()方法运行了没啊,打个断点运行一下,再执行或许就能成功了!我也不知道vs是怎么回事,有些东西是非要你打断点运行一下后才能被真正执行的!遇到过这样的问题很多次!楼主试试吧!
      

  2.   

    登录时  FormsAuthentication.SetAuthCookie()这个方法的话
    这里用 FormsAuthentication.SignOut();
    应该也就注销了
      

  3.   

    Session.Clear();
    Session.Abandon();第一次退出时,可能这里并没有执行,调试下看看
      

  4.   


    session的值是清空了,看是IE游览器还是COOKIE相关的东西没清空,保存了值
    我对IE游览器和cookie不是很了解
      

  5.   

    我的清空Session.Abandon();直接这样就行啦!应该不有问题的!是不是你cookie里存了什么呢?
      

  6.   

    我都不知道cookie的用法,怎么去用它储存什么呢?
      

  7.   

    以上的我再次说下,session的值已经清空,只是不明白为什么,直接输入文件地址却能访问?
      

  8.   

    你页面里是用什么判断能否访问的?session还是cookie?
      

  9.   

    来学习的,感觉有点奇怪,session的值已经清空,直接输入文件地址却能访问?那么请问你访问的这个文件地址有判断session有值才可以访问吗?
      

  10.   

    z做了判断 if (!IsPostBack)
            {
                if (Session["user"] == null)
                {
                    Response.Redirect("../index.aspx");
                }