none
Usuarios que están conectados. RRS feed

  • Pregunta

  • Desarrollo un sistema en el que los usuarios se darán de alta con nombre y contraseña. Estos datos los grabo en una base SQL server usando WCF Ria.

    Intento lograr que no puedan usar a la vez mi sistema dos usuarios con el mismo nombre y contraseña.

    Alguna pista de como hacer esto ordenadamente ? Desde ya mucha gracias.

    José

    jueves, 3 de junio de 2010 15:27

Todas las respuestas

  • Hola joselaks

    Yo hago esto manteniendo un registro de usuarios conectados al sistema, cuando se logean comprueba en esa tabla si ya está logeado en el sistema, si está rechazo el login, si no está lo añado.

    En el servidor tengo un servicio windows que examina la actividad del usuario (cada vez que edita, crea o selecciona registros edito la fecha y hora de ultima actividad) si un usuario permanece logeado pero lleva x tiempo sin actividad lo marco como desconectado. También al hacer el logout del sistema marco como desconectado al usuario en esta tabla.

    Yo lo tengo en una tabla aparte de la de usuarios pues guardo información como el id de sesion unico, y varias variables más.

    Espero que te sirva, un gran saludo!


    MCTS .NET Framework 3.5 Windows Forms Application Development
    MCTS .NET Framework 3.5 Windows Presentation Foundation
    Visita mi Blog
    Sigueme en Twitter
    jueves, 3 de junio de 2010 15:45
    Moderador
  • Hola Josue,

    Gracias por el aporte. Efectivamente es una buena manera. Pero en mi caso quisiera lograr que cuando un segundo usuario intente entrar con el mismo nombre que uno anterior, el sistema haga lo siguiente:

    1) Le avise que hay otro usuario logeado (o que hay una sesión "mal cerrada") y que le de la opción de: A)abandonar el sistema o B)entrar de todas maneras.

    2) Si elige entrar de todas maneras, mi intención es que entonces cierre la sesión del otro usuario que estaba logeado con el mismo nombre.

    Supongo que para lograr esto, necesito saber como hacer para cerrarle la sesión a un usuario determinado. Hasta aquí a mi se me ocurrió que quizá se pueda desatar un evento en todos los clientes que ante un cambio en una tabla, verifique si su logeo es el que quiero cerrrar. Pero... existe forma de desatar un evento cuando se produzca ante un cambio en una tabla de base de datos SQL server, usando Silverlight y WCF Ria ?

    Espero alguien pueda ayudarme o sugerirme otro camino. Gracias.

    José

    jueves, 3 de junio de 2010 18:24