Como saber si la sesión ha expirado?

13/11/2003 - 22:07 por monkey | Informe spam
grupo,

tengo una aplicación en ASP sencilla con una pocas páginas. el caso es
que valido al usuario y retengo en session("accesovalido") un valor
que determina si se ha logeado correctamente para mostrar los
contenidos. si no, pues redirecciono al login. hasta ahi no haoy
problema. el problema viene cuando la sesion expira, se me borra la
variable de sesión y me redirecciona al login. lo que quisiera es
saber alguna forma de ver si la sesion ha expirado, mandarle a una
pagina de "su sesion ha expirado" o algo asi, en lugar del login
original. he pensado en meter una tabla en una base de datos con la
fecha/hora de entrada, que actualizaría con cada página nueva, y
comparar ese campo con la hora actual y tal, pero entonces se me
presenta otro problema. si el usuario se me va a otra pagina fuera de
mi aplicacion o directamente cierra la aplicacion, como lo se para
borrar el registro de sesiones activas de la base de datos? o deberia
meter el campo directamente en la tabla de usuarios y poner ahi la
fecha/hora?

ademas, ahora que leo lo que he escrito... hay alguna forma de saber
si el usuario se va a otra pagina fuera de la aplicacion para borrar
las variables de sesion?

no se si me he explicado muy bien, en cualquier caso, gracias por
adelantado.

un saludo, monkey




para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra
para terra

Preguntas similare

Leer las respuestas

#1 danicastillo
13/11/2003 - 23:04 | Informe spam
bueno el primer tema lo puedes solucionar con un doble tirabuzon =) ,
m'explico:

usuario entra en tu web, default.asp
haces
session("entrada")="si"

saltas con javascript (*no* un redirect ) a otra pagina, la del login, esta:

if session("entrada")="" then
mensaje de sesion ha caducado lo sentimos muxo
else
formulario de user/key
end if

en el action del form
if usuarioyclaveok then
session("accesovalido")="si"
redirect a primera.asp
else
redirect a la pagina login.asp
end if

en primera.asp (y resto)
if session("accesovalido")="si" then
loquesea
else
redirect a login.asp
end if

-o|o|--
-o|o| dani castillo
-o|o| http://www15.brinkster.com/danic/
-o|o| tutorial y trucos asp, vb, diseño
-o|o|--
"monkey" escribió en el mensaje
news:


grupo,

tengo una aplicación en ASP sencilla con una pocas páginas. el caso es
que valido al usuario y retengo en session("accesovalido") un valor
que determina si se ha logeado correctamente para mostrar los
contenidos. si no, pues redirecciono al login. hasta ahi no haoy
problema. el problema viene cuando la sesion expira, se me borra la
variable de sesión y me redirecciona al login. lo que quisiera es
saber alguna forma de ver si la sesion ha expirado, mandarle a una
pagina de "su sesion ha expirado" o algo asi, en lugar del login
original. he pensado en meter una tabla en una base de datos con la
fecha/hora de entrada, que actualizaría con cada página nueva, y
comparar ese campo con la hora actual y tal, pero entonces se me
presenta otro problema. si el usuario se me va a otra pagina fuera de
mi aplicacion o directamente cierra la aplicacion, como lo se para
borrar el registro de sesiones activas de la base de datos? o deberia
meter el campo directamente en la tabla de usuarios y poner ahi la
fecha/hora?

ademas, ahora que leo lo que he escrito... hay alguna forma de saber
si el usuario se va a otra pagina fuera de la aplicacion para borrar
las variables de sesion?

no se si me he explicado muy bien, en cualquier caso, gracias por
adelantado.

un saludo, monkey



> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra
> para terra

Respuesta Responder a este mensaje
#2 Manuel Vera
14/11/2003 - 14:55 | Informe spam
"monkey" wrote in message
news:
..hay alguna forma de saber
si el usuario se va a otra pagina fuera de la aplicacion para borrar
las variables de sesion?



Cuando el usuario se va, a las 20 minutos (tiempo por defecto y modificable)
se borra su session. Igualmente, en el archivo global.asa puede crear esta
rutina:

sub session_onend()
'--
'aqui colocas el codigo para borrar registros
'--
end sub

Saludos
MV
Respuesta Responder a este mensaje
#3 monkey
14/11/2003 - 20:48 | Informe spam
gracias Manuel pero session_onend no es fiable 100%
aún así es una opción que he barajado...
saludos, monkey

"Manuel Vera" wrote in message
news:

"monkey" wrote in message
news:
> ..hay alguna forma de saber
> si el usuario se va a otra pagina fuera de la aplicacion para borrar
> las variables de sesion?
>
Cuando el usuario se va, a las 20 minutos (tiempo por defecto y


modificable)
se borra su session. Igualmente, en el archivo global.asa puede crear esta
rutina:

sub session_onend()
'--
'aqui colocas el codigo para borrar registros
'--
end sub

Saludos
MV


Respuesta Responder a este mensaje
#4 monkey
14/11/2003 - 20:54 | Informe spam
gracias Dani. eso tampoco funcionaría creo, al expirar la sesión se
eliminaría session("entrada") y nunca se vería el mensaje de sesión
caducada, sino el de login, es el caso que tengo ahora
creo que al final lo voy a hacer en la base de datos
la idea es almacenar la fecha/hora al validar el usuario y a partir de ahí
actualizarlo cada acción, compruebo la diferencia y eso...

de hecho ahora que lo pienso igual es una solución a todas las variables de
sesión, almacenarlas en la base de datos ... alguien puede contar?

saludos, monkey

"danicastillo" wrote in message
news:
bueno el primer tema lo puedes solucionar con un doble tirabuzon =) ,
m'explico:

usuario entra en tu web, default.asp
haces
session("entrada")="si"

saltas con javascript (*no* un redirect ) a otra pagina, la del login,


esta:

if session("entrada")="" then
mensaje de sesion ha caducado lo sentimos muxo
else
formulario de user/key
end if

en el action del form
if usuarioyclaveok then
session("accesovalido")="si"
redirect a primera.asp
else
redirect a la pagina login.asp
end if

en primera.asp (y resto)
if session("accesovalido")="si" then
loquesea
else
redirect a login.asp
end if

-o|o|--
-o|o| dani castillo
-o|o| http://www15.brinkster.com/danic/
-o|o| tutorial y trucos asp, vb, diseño
-o|o|--
"monkey" escribió en el mensaje
news:
>
>
> grupo,
>
> tengo una aplicación en ASP sencilla con una pocas páginas. el caso es
> que valido al usuario y retengo en session("accesovalido") un valor
> que determina si se ha logeado correctamente para mostrar los
> contenidos. si no, pues redirecciono al login. hasta ahi no haoy
> problema. el problema viene cuando la sesion expira, se me borra la
> variable de sesión y me redirecciona al login. lo que quisiera es
> saber alguna forma de ver si la sesion ha expirado, mandarle a una
> pagina de "su sesion ha expirado" o algo asi, en lugar del login
> original. he pensado en meter una tabla en una base de datos con la
> fecha/hora de entrada, que actualizaría con cada página nueva, y
> comparar ese campo con la hora actual y tal, pero entonces se me
> presenta otro problema. si el usuario se me va a otra pagina fuera de
> mi aplicacion o directamente cierra la aplicacion, como lo se para
> borrar el registro de sesiones activas de la base de datos? o deberia
> meter el campo directamente en la tabla de usuarios y poner ahi la
> fecha/hora?
>
> ademas, ahora que leo lo que he escrito... hay alguna forma de saber
> si el usuario se va a otra pagina fuera de la aplicacion para borrar
> las variables de sesion?
>
> no se si me he explicado muy bien, en cualquier caso, gracias por
> adelantado.
>
> un saludo, monkey
>
>
>
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
> > para terra
>


Respuesta Responder a este mensaje
#5 danicastillo
14/11/2003 - 21:31 | Informe spam
revisa el codigo, de eso se trata =)

en el login.asp tienes
> if session("entrada")="" then
> mensaje de sesion ha caducado lo sentimos muxo
> else


el formulario

osea, si ha caducado la session la clave no sera valida, redirige a login
(no a la primera pagina donde asignas ese session de entrada) en login entra
si session("entrada") vale algo, esq vienes de la primerisima pagina de tu
web, sino vale nada, esque la session ha caducado

-o|o|--
-o|o| dani castillo
-o|o| http://www15.brinkster.com/danic/
-o|o| tutorial y trucos asp, vb, diseño
-o|o|--
"monkey" escribió en el mensaje
news:Bpatb.1091540$
gracias Dani. eso tampoco funcionaría creo, al expirar la sesión se
eliminaría session("entrada") y nunca se vería el mensaje de sesión
caducada, sino el de login, es el caso que tengo ahora
creo que al final lo voy a hacer en la base de datos
la idea es almacenar la fecha/hora al validar el usuario y a partir de ahí
actualizarlo cada acción, compruebo la diferencia y eso...

de hecho ahora que lo pienso igual es una solución a todas las variables


de
sesión, almacenarlas en la base de datos ... alguien puede contar?

saludos, monkey

"danicastillo" wrote in message
news:
> bueno el primer tema lo puedes solucionar con un doble tirabuzon =) ,
> m'explico:
>
> usuario entra en tu web, default.asp
> haces
> session("entrada")="si"
>
> saltas con javascript (*no* un redirect ) a otra pagina, la del login,
esta:
>
> if session("entrada")="" then
> mensaje de sesion ha caducado lo sentimos muxo
> else
> formulario de user/key
> end if
>
> en el action del form
> if usuarioyclaveok then
> session("accesovalido")="si"
> redirect a primera.asp
> else
> redirect a la pagina login.asp
> end if
>
> en primera.asp (y resto)
> if session("accesovalido")="si" then
> loquesea
> else
> redirect a login.asp
> end if
>
> -o|o|--
> -o|o| dani castillo
> -o|o| http://www15.brinkster.com/danic/
> -o|o| tutorial y trucos asp, vb, diseño
> -o|o|--
> "monkey" escribió en el mensaje
> news:
> >
> >
> > grupo,
> >
> > tengo una aplicación en ASP sencilla con una pocas páginas. el caso es
> > que valido al usuario y retengo en session("accesovalido") un valor
> > que determina si se ha logeado correctamente para mostrar los
> > contenidos. si no, pues redirecciono al login. hasta ahi no haoy
> > problema. el problema viene cuando la sesion expira, se me borra la
> > variable de sesión y me redirecciona al login. lo que quisiera es
> > saber alguna forma de ver si la sesion ha expirado, mandarle a una
> > pagina de "su sesion ha expirado" o algo asi, en lugar del login
> > original. he pensado en meter una tabla en una base de datos con la
> > fecha/hora de entrada, que actualizaría con cada página nueva, y
> > comparar ese campo con la hora actual y tal, pero entonces se me
> > presenta otro problema. si el usuario se me va a otra pagina fuera de
> > mi aplicacion o directamente cierra la aplicacion, como lo se para
> > borrar el registro de sesiones activas de la base de datos? o deberia
> > meter el campo directamente en la tabla de usuarios y poner ahi la
> > fecha/hora?
> >
> > ademas, ahora que leo lo que he escrito... hay alguna forma de saber
> > si el usuario se va a otra pagina fuera de la aplicacion para borrar
> > las variables de sesion?
> >
> > no se si me he explicado muy bien, en cualquier caso, gracias por
> > adelantado.
> >
> > un saludo, monkey
> >
> >
> >
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> > > para terra
> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida