none
Problema boton atras al cerrar Sesion en asp mvc3 RRS feed

  • Pregunta

  • Señores tengo un problema que me sige hace un rato, pero no he encontrado solucion. Me gustaria saber si

    alguien me puede ayudar con este tema, el problema es el siguiente:

    Esta es una aplicacion Asp Mvc3 la cual tiene una login y un cierre de sesion, el tema es que al cerrar sesion, bien

    redirecciona a la pagina de login y elimina la session, pero si presiono el boton regresar del navegador me muestra el

    mantenedor anterior y no deberia ser ya que ese mantendor esta protegido.

    Ojala haya sido claro claro. Saludos y gracias desde ya

    martes, 11 de septiembre de 2012 13:15

Todas las respuestas

  • Probablemente esté recuperando la página anterior directamente desde el caché del navegador, sin llamar al servidor.

    Para evitarlo, deshabilita el caché. Hay varias formas de hacerlo; me viene a la memoria esta:

    Response.Cache.SetCacheability(HttpCacheability.NoCache);

    Eso hay que hacerlo en el método de acción que sirve  la página anterior (la que no debe ser guardada), no basta con hacerlo en la de logout.

    martes, 11 de septiembre de 2012 21:26
  • Entonces debo crear una pagina intermedia antes de llegar al logout, algo asi Alberto

    Saludos

    viernes, 14 de septiembre de 2012 16:01
  • No sería 100% efectivo crear una página intermedia. El navegador va guardando en su caché todas las páginas a las que navega mediante un GET. Si desactivas el caché en la página intermedia, pero el usuario pulsa rápidamente dos veces el botón de retroceso para volver dos páginas atrás, conseguiría alcanzar la página cacheada que no le quieres dejar ver. Es necesario desactivar el caché en esa misma página, no resuelves el problema interponiendo una página adicional y desactivando en ella el caché.

    Si esto te ocurre en varias páginas, y quieres desactivar el caché en todas ellas, puedes crear un filtro de acción que lo desactive y aplicarlo sobre el Controlador. Y si lo quieres desactivar en toda tu web, creo recordar que hay un elemento que puedes insertar en el web.config para conseguirlo. Ninguna de las dos cosas me la sé de memoria, pero debería ser fácil de encontrar un ejemplo buscando en la red.

    viernes, 14 de septiembre de 2012 18:27