Почему значение переменной сеанса остается даже после всего кода разрушения?

StackOverflow https://stackoverflow.com/questions/4176108

Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

Сделайте link_logout a linkbutton, положите onclick на страницу, а в onclick удалите переменные сеанса. Затем сделайте перенаправление ответа на сервер.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top