退出页代码,这样好像还是清除不了session,只要我在地址栏输入曾经浏览过的页,我又可以进入了,不用重新登录了。
这是我loginout页的代码;哪位帮忙看看的。
string returnUrl = "Login.aspx";
            FormsAuthentication.SignOut();
            Session.Clear();
            //Session.Abandon();有没有都一样
            Response.Cookies.Clear();
            if(!string.IsNullOrEmpty(Request["returnurl"]))//退到不同的登陆页。
            {
                returnUrl = "admin/login.aspx";
            }
            Response.Write("<script>window.location.href='" + returnUrl + "'</script>"); 

解决方案 »

  1.   

    FormsAuthentication.SignOut();
     Session.Remove("");     Session.Remove("UserName");
     Session.RemoveAll();
     Response.Cookies["UserName"].Expires = DateTime.Now;
      

  2.   

    returnUrl = "admin/Login.aspx?action=LogOut";Response.Write(" <script>window.location.href='" + returnUrl + "' </script>"); 然后在Login.aspx 判断action=logout时,
    FormsAuthentication.SignOut(); 
    session.Abandon();
      

  3.   

    具体看看在程序中的验证方式了,看看你每个页面打开的时候用什么方式校验的身份//Session.Abandon();有没有都一样 如果都是session验证,怎么会没用呢?Response.Cookies.Clear(); 这句是不起作用的,如果想让cookies失效,应该是给这个cookies重新赋一个过期的值。而这所有的内容只有在下一个页面的时候才会有效。