![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#14
|
||||
|
||||
|
Cita:
Yo comencé a hacer el instalador y por alguna razón que ahora no recuerdo nunca lo terminé. Había un problema pero no recuerdo si estaba relacionado con el registro. Cita:
Por ejemplo, en mi sistema había que impedir que un usuario usara dos pc al mismo tiempo. Claro que al ingresar yo agrego una entrada en la tabla de sesiones de la base marcando la hora de entrada y al terminar de usar la pc marco la hora de salida. En principio entonces, cuando un usuario intenta iniciar sesión, debo checar que no tenga una sesión ya activa (que el campo de hora de salida no sea null, por ejemplo). El problema es que si por alguna causa la pc de un usuario se congela y hay que apagarla a la brava, nunca se marca la hora de salida y por ende no pude iniciar sesión en ninguna pc. Para solventar eso lo que opté por hacer fue que la aplicación en cada pc manda una señal cada x segundos o minutos, según prefieras, actualizando con la hora actual un campo llamado ultimo_acceso. Entonces, doy un intervalo máximo de espera. Si la diferencia entre la hora actual y la del último acceso es mayor que es intervalo, considero que la sesión ya terminó y le perimto iniciar una nueva. Cita:
Por otra parte, si buscas el taskman.exe en el explorador y das click derecho, verás que aparece la opción "Ejecutar como...' que te permite ejecutar la aplicación como otro usuario. No lo he probado pero imagino que si la intentas ejecutar como Administrador, que no tiene la restricción, lo podrás hacer. Cita:
Y si el nuevo usuario debe cerrar la sesión anterior en caso de que alguna esté abierta y no se le da la gana hacer, pues como no tengas un detector de huellas digitales o de iris, no veo la forma de impedirlo. Por lo demás, habrá un afectado (quien no cerró la sesión) y un ganón que podrá hacer lo que se le antoje en nombre del primero. A lo sumo podrías medir el tiempo de inactividad y cerrar automáticamente la sesión luego de un tiempo de espera. En cuanto al diseño de las tablas, pues ya depende de las necesidades en particular. Como mínimo necesitas una tabla de usuarios y una de sesiones: usuarios = (id, nombre, contraseña) sesiones = (id, usuario_id, entrada, salida, ultimo_acceso En mi caso también tengo una tabla de actividades actividades = (id, sesion_id, texto) donde se supone que el usuario anota las actividades realizadas durante la sesión. Muchos no ponen nada o escriben cualquier estupidez pero bueno, tampoco se supone que sea un sistema restrictivo. // Saludos |
|
|
|