Control de acceso por licencia

Escribo desde Mexico para exponer un problema sencillo y a la vez
no sobre control de accesos a un sitio web por licencias.
Tengo un sitio web de consulta sobre comercio exterior. Tengo usuarios
que están suscritos al sitio, y para evitar el robo de contraseñas les
vendo la suscripción por licencias, es decir si alguien me compra 3 licencias
entonces ese usuario tiene derecho a entrar al sistema con el mismo usuario y
contraseña y al mismo tiempo en 3 maquinas diferentes, si una cuarta intentara
entrar cuando esas 3 maquinas están conectadas al sitio entonces no podría.
Esto significa que cada vez que un usuario entra, le llevo el conteo de cuantas
veces esta conectado mediante una base de datos, y si se va entonces debo también
registrar que ya dejo de usar una licencia.
El registro de cuando entra es sencillo, pero el problema es cuando se va,
estoy considerando que cuando el usuario cierra cierta ventana principal entonces
disparo una función que se encarga de registrar que dejo de usar una licencia.
Pero esta función jamas se dispara si por ejemplo al usuario se le apago la maquina
sin previo aviso o si se le "trabo" y tuvo que reiniciar.
El problema anterior ya me ha provocado que muchos usuario se queden sin poder entrar
al sistema por el descontrol del registro.
Que alama caritativa de aquí me puede sugerir una manera de llevar un control exacto
en el sistema de las licencias usadas por usuario, de manera que cuando entren quede
registrado su uso de licencia y cuando se vayan o dejen de usar el sistema la licencia
quede registrada como que ya no la esta usando y esta disponible. Recuerden que esto es
para evitar que accesen de forma indiscriminada en muchas maquinas con la misma cuenta.
Las maquinas pueden ser diferentes siempre y cuando no excedan la cantidad de licencias
usadas al mismo tiempo.

2 respuestas

Respuesta
1
Al acceder un usuario, podrías guardar el timestamp de su último acceso a alguna de las páginas. Por ejemplo quedaría que yo consulté los pagos a el 22-10-03 a las 21.45,12.
Cada tanto corrés en la BD un proceso, y aquellos que no realizaron una consulta en los últimos N minutos quiere decir que se desconectaron (independientemente del motivo).
Comentame que te parece.
Exactamente, algo así es lo que necesito, ya había pensado en algo parecido al uso del tiempo, el verdadero problema radica en que el web funciona a base de peticiones y sin ellas no hay nada..
Me parece buena esa idea que dices y creo que no hay de otra.
Agradezco tu ayuda.
También podrías ver en el global. Asa el evento que se ejecuta al terminar la session, el tema es que si alguien reinició la máquina va a tardar un tiempo hasta detectar que la sesión terminó.
Bueno, le haré saber claramente al usuario que debe cerrar su sesión correctamente. Si el usuario deja de usar el sistema por 20 minutos entonces le cierro la sesión, ni modo, y tiene que volver a pedir apertura de sesión.
Agradezco enfáticamente tu apoyo moral y técnico para resolver este problema, en atención al tiempo que te tomaste te calificare excelente, hoy por mi y mañana por ti. Suerte.
Cualquier cosa mi correo es [email protected]
Respuesta
1
Tu problema es muy común, si el usuario cierra la ventana entonces no puedes controlar el cierre de la sesión, para ello puedes controlar mediante javascript el cierre de la ventana lazando cuando se produzca esto una página que lo único que haga sea desconectarse y cerrarse la ventana, no es una forma muy elegante pero si efectiva,
Cuando el usuario cierra la ventana y si tienes el control de cierre de sesión esta no se producirá hasta que no caduque la conexión del usuario.
Gracias por tu respuesta.
Ya tengo un script que se lanza cuando el usuario
Cierra la ventana, pero a veces no se por que, este no se activa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas