Почему значение переменной сессии остается даже после всего кода уничтожения? - PullRequest
0 голосов
/ 14 ноября 2010

login.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");

        }

table.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 для просмотра значений переменных сеанса.
  • когда я даю имя пользователя и пароль и нажимаю кнопку входа,он перенаправляет на страницу таблицы.
  • когда я нажимаю кнопку выхода из системы, он перенаправляет на страницу входа и страница входа удаляет информацию.

Проблема

  • после входа в системуинформация уничтожена, затем я нажимаю на ссылку таблицы, она переходит на страницу таблицы, где указано НЕТ НЕТ и перенаправляет на страницу входа.
  • НО, если я скопирую, вставьте URL-адрес страницы таблицы, то, что бы я ни делал,позволяет мне просматривать страницу.То есть он принимает значение переменной сеанса и возвращает значение ИСТИНА, даже когда значения были уничтожены.

Я не могу использовать функции входа в asp.net, мои ограничения не позволяют мне использоватьэтот контроль.

Ответы [ 2 ]

2 голосов
/ 14 ноября 2010

Вы видите кэшированную версию страницы в браузере.

Если вы нажмете Ctrl + F5, она должна исчезнуть.

1 голос
/ 14 ноября 2010

Сделайте link_logout кнопкой ссылки, поместите щелчок мышью на страницу, а в щелчке удалите переменные сеанса. Затем выполните перенаправление ответа сервера.

...