Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/01/2012, 21:22
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Acceso Monousuario

Hola, para evitar el uso del cronjob que por un lado es relativo (si se ejecuta cada 15 minutos y pasaron 14 desde la última vez que se ejecutó cuando el usuario entró, al minuto lo va a sacar), y por otro lado muchos servidores no te permiten configurarlo en intervalos muy chicos, una opción es loguear toda la actividad del usuario.

Cada vez que un script de tu sistema verifica el login, guarda en una tabla, por ejemplo, "actividad" el id del usuario y la fecha (asimismo podés ir sumando datos como control o estadística).

Luego cuando un usuario intenta ingresar verifica primero que no haya ninguna sesión abierta (como estaban hablando antes) y si hay una sesión abierta todavía, busca el último registro de actividad y si es menor al tiempo que le permitís de inactividad al usuario, no lo deja ingresar.

Pasado ese límite sin ningún registro nuevo en actividad, lo dejaría entrar como asumiendo que ya no hay nadie logueado (también en ese momento podés marcar a todos los usuarios como deslogueados para asegurarte de que se les cierre la sesión).

Saludos.