Abandonar la sesión

Buenos días:
Mi pregunta es la siguiente, tengo un acceso a la web controlado con un loggin, lo que quiero hacer es que una vez que un usuario acceda a la web, bloquearlo de forma que ese usuario no pueda entrar desde otro sitio.
Si introduzco un campo en la BBDD para bloquear o desbloquear dicho usuario, mi problema es que no se como controlar que la sesión ha terminado para hacer la correspondiente consulta en la BBDD para desbloquear el usuario.
¿Cómo puedo controlar, el momento antes de que termine una sesión? He probado con el evento onunload de javascript y redirigir a una página asp que haga la query. Pero cdo abandono esa página para ir a otra de la misma web por medio de un enlace, también se activa el evento onunload y me termina la sesión.
Si me pudieras ayudar te estaría muy agradecido.

1 Respuesta

Respuesta
1
Vas por el buen camino. Utiliza los eventos "onunload" o "onbeforeunload", pero en lugar de redirigir a una página, utiliza un IFRAME invisible para cargar dicha página. Y mejor aún si abres dicha página con window. ShowModalDialog (sólo válido para Internet Explorer), ya que con el método del IFRAME es posible que al cerrarse la página principal no siempre se llegue a cargar la secundaria. Con un diálogo modal, la página principal no se cerrará hasta que no se vuelva del método cerrando la secundaria.
En resumen, la página secundaria debería mostrar un texto del estilo "Cerrando sesión" mientras liberas el usuario. Luego cierras la ventana en el "onload" con un "self.close()".
Por si el usuario abandona la sesión sin cerrar el navegador (por ejemplo apagando directamente el ordenador), su cuenta quedaría permamentemente bloqueada. Para evitarlo, desbloquéala también en el evento "Session_onend" del "global.asa".

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas