Artículos
ASP

Guardar información del usuario en la sesión con ASP

25/Oct/2009

El siguiente ejemplo nos muestra que tenemos que hacer para guardar información del usuario en una variable de sesión con ASP. Esto nos va a ser muy útil ya que podremos disponer de dicha información mientras el usuario esté conectado a nuestra web.

En este punto hay que aclaran un poco el concepto sesión. Y es, ¿qué consideramos como estar conectado a nuestra web?. Pues a un cliente que se identifique de forma unívoca mediante todas sus peticiones. Por ejemplo, en el caso de los navegadores, mantendremos activa la sesión siempre y cuando naveguemos con la misma pantalla del navegador o cuando abramos una nueva ventana a partir de la ventana anterior. Si ejecutamos de nuevo nuestro navegador, este al ser un proceso nuevo, tiene un identificador nuevo, y por lo tanto crea una nueva sesión en el servidor.

Una vez que tenemos estos conceptos básicos para poner un dato en sesión utilizamos el objeto Session de la siguiente forma:

Session("usuario") = "Víctor"

Este valor guardado durante la vida de la sesión se podrá recuperar de la siguiente forma:

Session("usuario")

y lo podremos volcar por pantalla si ponemos

Response.Write (Session("usuario"))

Una cosa que tenemos que tener en cuenta es el tiempo de vida de la sesión. Porque, claro, si el usuario se fuese a tomar un café, a dar un paseo y volviese al ordenador tras una hora, no sería de recibo seguir manteniéndole la sesión. Y es que, al fin y al cabo, estos datos ocupan lugar en la memoria del servidor. Además, si guardamos datos sensibles, estos, ante la ausencia del usuario, podrían ser utilizamos maliciosamente.

Aunque el tiempo de la sesión viene configurado en el servidor, podemos modificar el tiempo de vida de la sesión mediante la propiedad TimeOut de la siguiente forma:

Session.TimeOut = 10 '10 minutos

Y podríamos forzar el abandono de sesión del usuario mediante la función Abandon()

Session.Abandon()

Ahora codificaremos un pequeño ejemplo de tres página. En la primera de ellas crearemos los datos asociados al usuario, el nombre y el número de páginas vistas por ese usuario (otro ejemplo de utilización de los datos de sesión)

<%
  Session("usuario") = "Victor Cuervo"
  Session("paginas") = Session("paginas") + 1

  Response.Write("Usuario:" + Session("usuario") + "
") Response.Write("Paginas vistas:" + CStr(Session("paginas"))) %>

En la segunda simularemos todas las páginas intermedias de nuestra web. Así que solo le incrementaremos la información de páginas vistas

<%
  Session("paginas") = Session("paginas") + 1

  Response.Write("Usuario:" + Session("usuario") + "
") Response.Write("Paginas vistas:" + CStr(Session("paginas"))) %>

Y en la tercera y última permitiremos que el usuario abandone y cierre la sesión.

<%
  Response.Write("Usuario:" + Session("usuario") + "
") Response.Write("Paginas vistas:" + CStr(Session("paginas"))) Session.Abandon() %>
Suscribir
Notificar de
guest
0 Comentarios
Opiniones integradas
Ver todos los comentarios