El problema es que tengo un sitio donde las personas ingresan con su USER. Pero sucede que si ese USER esta logueado, y otra persona que tenga ese USER, intenta logearse, pues el sistema lo acepta. La idea es limitar que cuando un USER este logueado, en su tiempo de sesión, no pueda otra persona logearse con ese mismo USER.
1 Respuesta
Respuesta de dide
1
1
dide, Desarrollador de aplicaciones de escritorio y web, administrador...
Una solución puede ser la siguiente: Supongo que conoces las variables de session, sino te hubiera sido casi imposible hacer lo del logeo, así que supongo que también conoces las variables de aplicación, si no las conoces, te explico breve lo que es: Las variables de session se almacenan en el explorador del cliente, perduran mientras el cliente tenga abierta la session, en cambio las variables de aplicación se hospedan en el servidor y mantienen valores mientras el servidor de páginas esté activado, cuando el servidor de apaga o reinicia se pierden estos valores. Sino conoces el global. Asa te interesa estudiar su estructura un poco, es como un autoexec.bat de tu página web para cada cliente. Es donde inicializas las variables de session y las de aplicación. Imagina esto: cuando el servidor arranca crea una variable por ej. Aplication("CONECTADOS")="" y cuando un usuario inici su session le añadimos su id en la variable de aplicacion asi: Aplication("CONECTADOS") = APLICATION("CONECTADOS") & ID_USUARIO & "," Acuérdate que en el evento Session_onend del global asa tendrás que quitar esa id de la variable de aplicación para que quede "desconectado" asi. SUB SESSION_ONEND() ID_USU = SESSION("ID_USU") CON = APLICATION("CONECTADOS") con = mid(con,1,instr(con,id_usu)-1)) & mid(con,instr(con,id_usu)+len(id_usu)) aplication("conectados") = con END SUB La sintaxis no si es del todo correcta pero la estructura estoy seguro de que si. Revisa y haz pruebas pero lo que seguro te interesa es el global asa.
Acabo de caer en que hay otra forma mucho más sencilla de quitarle el id_usu a la variable de aplicación cuando el usuario finaliza su session. Quedaría así: SUB SESSION_ONEND() ID_USU = SESSION("ID_USU") CON = APLICATION("CONECTADOS") con = replace(con ,id_usu,"") END SUB Así también funciona y es mucho más fácil. Que kzurro soy :D