¿Por qué el valor de la variable de sesión permanecen incluso después de todo el código de la destrucción?
-
09-10-2019 - |
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.
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