0

登录.aspx

if (IsPostBack == false)
    {
        //destroy any login information
        Session["password"] = "false";
        Session["login"] = "false";
        Session.Abandon();
        Session.RemoveAll();
    }

    if (TextBox2.Text == main_password)
        {//then he is website server admin

            Session["password"] = "password";
            Session["login"] = "true";
            Response.Redirect("~/TABLE.aspx");

        }

表.aspx

    //checking if website server admin
    if ("password" == (string)Session["password"])
    {
        link_logout.Enabled = true;

    }//if ends
    else
    {//not authorized
        Response.Redirect("~/Identify.aspx");
    }//else ends

当我单击注销链接时

  • 登录页面被加载,导致所有会话状态的破坏。
  • response.write当我用来查看会话变量的值时,登录页面确认了这一点。
  • 当我提供用户名和密码并单击登录时,它会重定向到表格页面。
  • 当我单击注销时,它会重定向到登录页面,登录页面会破坏信息。

问题

  • 登录信息销毁后,我点击表格链接,它进入表格页面,如 NO NO 并重定向到登录页面。
  • 但是如果我复制粘贴表格页面的 url,那么无论我做什么,它都允许我查看页面。也就是说,它采用会话变量的值并评估为 TRUE,即使这些值被破坏。

我不能使用 asp.net 登录功能,我的限制不允许我使用该控件。

4

2 回答 2

2

您会在浏览器中看到该页面的缓存版本。

如果按 Ctrl+F5,它应该会消失。

于 2010-11-14T04:00:24.330 回答
1

使 link_logout 成为一个链接按钮,在页面上放置一个 onclick,并在 onclick 中删除会话变量。然后做一个服务器响应重定向。

于 2010-11-14T03:52:20.523 回答