none
Evitar que usuario inicie desde 2 puntos distintos al mismo tiempo (desde aplicación de escritorio) RRS feed

  • Pregunta

  • Que tal, primero que nada disculpen si este no es el foro correcto, si me pudieran decir a qué foro referirme se los agradecería.

    Lo que sucede es que tengo usuarios registrados en un sitio Web y una aplicación de escritorio que se comunica con mi servidor en la que los usuarios inician sesión con esa misma cuenta. Lo que quiero evitar es que los usuarios se compartan una misma cuenta y accedan a ella varios a la vez, por lo que quiero hacer que si se inicia sesión desde un punto y después en otro, se cierre la sesión en el primer punto.

    No es necesario que se cierre de inmediato, y quisiera que fuera lo menos pesado posible para el servidor ya que mi servidor está algo limitado y la verdad es que si espero tener una cantidad grande de usuarios.

    Mi idea era que cada minuto (u otro intervalo de tiempo) la aplicación mandara un mensaje diciendo que seguía conectada, y que en caso de no recibir mensaje alguno considerar la sesión como cerrada, pero creo que también pudiera generarme mucha carga en mi servidor.

    ¿Me pudieran sugerir alguna otra opción? Gracias.


    - Juanfra -
    viernes, 30 de septiembre de 2011 17:14

Todas las respuestas

  • Bueno, lo que te sugiero es una solución programada, usando una variable estatica y única en memoria con los usuario registrados y donde iniciaron sesión.

    O que tengas esta información en la base de datos y la recuperes para consultas. Necesitarías en este caso que las modificaciones sean via transacciones atómicas. Las consultas no tanto.

    Si utilizas memoria, las operaciones serán más rápidas pero consumirás muchas memorias.

    Si utilizas el disco duro (por la base de datos), las operaciones serán más lentas pero dejarás la memoria menos cargada.

    Opción media? base de datos + caché.

    Saludos

    jueves, 20 de octubre de 2011 12:17