Foros del Web » Programando para Internet » ASP Clásico »

No logear un usuario si ya entro, usando Session_onEnd

Estas en el tema de No logear un usuario si ya entro, usando Session_onEnd en el foro de ASP Clásico en Foros del Web. Hola que tal. Tengo la siguiente situación. Mi sitio en ASP y base de datos en MySQL, al pasar un usuario por login.asp (cuenta y ...
  #1 (permalink)  
Antiguo 03/03/2005, 13:00
 
Fecha de Ingreso: marzo-2005
Mensajes: 2
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta No logear un usuario si ya entro, usando Session_onEnd

Hola que tal.

Tengo la siguiente situación. Mi sitio en ASP y base de datos en MySQL, al pasar un usuario por login.asp (cuenta y password correctos) guardo su ID en una variable session. Cuando cierra su sesion o se va a la pagina principal abro una pequeña ventana que se cierra sola al terminar de guardar en una tabla su salida (previamente guardo su entrada y en esta su salida). Necesito que el sitio no permita que un usuario entre mas de una vez al mismo tiempo, para este uno una simple tabla donde guardo su ID al entrar y lo borro cuando sale (con la pequeña ventana p.ej.), asi, si quiere logearse nuevamente y su ID aun existe en la tabla, no se le permite y muestro un mensaje como "Tiene una sesión activa". Hasta todo bien, pero hay exploradores que no permiten ventanas tipo popup, asi que en GLOBAL.ASA manejo el siguiente código:

sub Session_OnEnd
cstrCon="CADENA DE CONEXION A MI BASE"
set cn = Server.CreateObject("ADODB.Connection")
ConDB (cstrCon)
DelID="DELETE FROM TABLA WHERE ID=" & session("ID") & ""
ConDB.Execute (DelID)
ConDB.Close
set ConDB=nothing
end sub

En mis pruebas en mi servidor funciona (http://127.0.0.1/Sitio), pero en las pc`s de mi red no funciona, como si no ejecutara el evento SessiononEnd .

Alguna sugerencia?. Aparte, si el cliente (suponiendo cuando lo suba a un Hosting) esta en mi sitio y éste pierde su conexion a Internet (que a mas de uno le ha pasado), el evento Session_onEnd se ejecuta? (esto me preocupa un poco mas ).

Si me pueden ayudar con alguna sugerencia o idea , evito usar cokkies para el cliente ya que podrian entrar en una pc y logearse nuevamente en otra, por eso queria tener en el servidor esa informacion de quien esta activo y poder vaciar el registro correspondiente cuando dejen el sitio.

Gracias
  #2 (permalink)  
Antiguo 15/03/2005, 11:00
 
Fecha de Ingreso: marzo-2005
Mensajes: 2
Antigüedad: 19 años, 3 meses
Puntos: 0
Ya pude

Con una tabla que guarde el ID del usuario, al logearse éste, manejando unas condiciones en Session_onEnd y Session_onStart, utilizando tambien Session.Timeout en ambos eventos, y unos scripts (sin ninguna funcion como "cstr")... y listo.

Mi problema eran las condiciones... y uno que otro detalle en los scripts, que en realidad son mas complejos que "DELETE FROM ····· WHERE".
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:42.