Página 1 de 1

Bloqueo de accesos

NotaPublicado: 2008-04-25 12:51 @577
por hugo11ab
¿Qué tal? Nuevamente pidiendo de su oportuna ayuda para resolver un problema que tengo con el control de accesos.

Estoy haciendo un sistema en el cual los usuarios se logean para acceder al mismo. Cada vez que entran tengo un script que registra la entrada del usuario pero no siempre cierran su sesión, es decir el sistema tiene un botón de salida el cual cierra la sesión del usuario. Pero si le dan por ejemplo un alt F4 la sesión quedará abierta y la próxima vez que se quieran logear el sistema no lo va a permitir porque hay una sesión abierta del mismo usuario.

Mi pregunta es si existe algún módulo en Perl el cual me pueda llevar el control de los accesos o alguna idea de como puedo controlar esto.

Espero sus oportunas respuestas.

NotaPublicado: 2008-04-25 13:21 @597
por explorer
Si estuviéramos hablando de un entorno web, bastaría con poner una cookie, y su tiempo de caducidad puesto a un cierto tiempo máximo, actualizado en cada ocasión que el usuario acceda al sistema.

Si fuera un CGI... CGI::Session. Para todo lo demás... Cache::Cache.

Problemas de acceso

NotaPublicado: 2008-04-25 13:40 @611
por hugo11ab
Gracias explorer por tu pronta respuesta. Efectivamente el sistema se ejecuta vía web. Con respecto a la cookie hay algún módulo para hacerla o es JavaScript lo que tengo que hacer ya que no tengo muchos conocimientos sobre las cookies y no sé si me pudieras dar un enlace donde pudiera ver un ejemplo.

Gracias

NotaPublicado: 2008-04-25 13:59 @624
por explorer
Si se trata de un CGI, te valdría con usar el módulo CGI. Tiene una función llamada cookie() que se encarga de recuperar y poner los valores de esas cookies.

El trabajo normal del CGI sería: obtener la cookie. Si no está o ha expirado, se crea nueva ventana de login. Si está, podemos saber la sesión de la que el usuario está haciendo uso. Luego, recrear la cookie con una nueva fecha de expiración (por ejemplo, '+10m' para que expire diez minutos después). Y enviárselo al usuario.

Hummm... creo que es mucho más cómodo usar CGI::Session :-)

La documentación del módulo no es muy clara... mejor vete directamente a CGI::Session::Tutorial.