CLR: .Net / Mono / Boo / Otros CLR > ASP .NET

 Session, Application O Qué?????

<< < (3/4) > >>

laurfie:
Hola de nuevo!

Tengo una "pequeña duda".
Utilizo una variable Session que inicializo cuando un usuario se ha identificado correctamente en mi aplicacion web, y cuando el usuario abandona la sesion la borro.

La utilizo como medida de "seguridad", para que ningún usuario no autorizado tenga acceso a los formularios de la aplicacion. Compruebo su valor en el "Page_Load" de cada formulario, y si su valor no coincide con el valor que asigno en un principio, pues redirecciono al usuario a una página de error.

El problema surge cuando el usuario abandona la sesion. Debo de borrar y/o eliminar mal este tipo de variables, porque si a continuación pongo en la barra de direcciones del navegador la ruta de una de las páginas de la aplicacion, que no sea la index.aspx, entra de todas formas.

Inicializacion de la variable:   Session["seguridad"]="true";
Borrado de la variable:          Session["seguridad"]="false";
      o bien (he probado de todo)
         Session.Contents.RemoveAll();
         Session.Clear();
         Session.RemoveAll();
         Session.Abandon();

Espero haberme explicado.

Muchas gracias de antemano.

Güorker:
Hola,
yo creo que lo que te pasa es que la pagina está cacheada en el cliente y que por eso se te muestra.

Prueba lo siguiente:
-Accedes normal a la aplicacion.
-Cierras la sesion
-Pones una dir. en la barra de direcciones
-Una vez cargada la pagina a la que no deberías tener acceso pulsa F5 (refrescar)

Si despues de eso sigues estando en la pagina que no deberias... revisa tu codigo porque lo que tendría que pasar es que te lleve a tu pagina de error.

Saludos

laurfie:
Hola Güoker!

He hecho lo que dices, y sí me redirecciona a mi página de error.
Así que he estado investigando cómo borrar la cache del cliente, ya que no me interesa que un usuario no válidado tenga acceso. Y he encontrado ésto que me ha sido de utilidad.

(Lo escribo tal y como lo encontré, por si a alguien también le ayuda)
==========
Para setear los valores de Cache en las Paginas:

Usando la Directiva  @OutputCache :
Client Cache :
<%@ OutputCache Duration="60" Location="Client" %>

Proxy Server Cache :
<%@ OutputCache Duration="60" Location="Downstream" %>

Server Cache:
<%@ OutputCache Duration="60" Location="Server" %>

No Cache:
<%@ OutputCache Location="None" %>

Con ésta última, al presionar el botón "Atras" del Explorador, éste carga la página de nuevo desde el servidor, por lo que las validaciones hechas ya funcionan, no es necesario validar el User en cada pagina, eso lo hace la aplicación al setear Autenticación por formularios en el Web.Config.
==========

Ah!! y muchas gracias por tu interés y rapidez.

ErWillem:
Muchas gracias por la información del cache, en realidad buscaba otra información pero eso era algo que tenia en mi lista de cosas pendientes :lol:

Gracias por tu ayuda. Saludos  :hola:

ErWillem:
Bueno, ya lo probe y me di cuenta que en verdad no es lo que queria  :(

Lo que necesito es lo siguiente: Que al momento en que algun usuario le de a la flecha hacia atras la pagina se recargue, eso para evitar, por dar ejemplos, que un usuario guarde dos veces los datos con cambiar solo un campo, o que el usuario no pueda imprimir 2 veces un mismo resultado... eso por dar algunos ejemplos sencillos. Si alguien me puede ayudar...

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa