¿Por qué el valor de la variable de sesión permanecen incluso después de todo el código de la destrucción?

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

Pregunta

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

Cuando pulso en el enlace de desconexión

  • la página de inicio de sesión se carga, causando la destrucción de todos los estados de la sesión.
  • lo confirma la página de inicio de sesión para que cuando uso response.write para ver los valores de las variables de sesión.
  • cuando doy el nombre de usuario y la contraseña de inicio de sesión y haga clic en, redirecciona a la página de mesa.
  • cuando haga clic en Cerrar sesión, redirecciona a la página de inicio de sesión y la página de inicio de sesión destruye información.

Problema

  • después de la información de acceso destruido, entonces yo haga clic en enlace de la tabla que va a la página tabla, como se dice que NO, NO y vuelve a dirigir a la página de inicio de sesión.
  • pero si copiar y pegar la URL de la página de mesa, entonces no importa lo que hago, me permite ver la página. Es decir que toma el valor de la variable de sesión y dé como resultado VERDADERO, incluso cuando los valores fueron destruidos.

No puedo usar las funciones asp.net de inicio de sesión, mis limitaciones no permiten que use ese control.

¿Fue útil?

Solución

Estás viendo una versión en caché de la página en el navegador.

Si pulsa Ctrl + F5, debe desaparecer.

Otros consejos

Hacer una link_logout LinkButton, poner un onclick a la página, y en el onclick eliminar las variables de sesión. A continuación, hacer una redirección de respuesta del servidor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top