Page 1 of 1

limitar la concurrencia a 5 usuarios

PostPosted:Wed May 13, 2020 6:10 pm
by hopeligth
hola tengo una instalacion local, de openkm para mi grupo de estudiantes de la universidad estamos probando el sistema, al estar en un equipo basico nos surgen varias dudas, la primera y mas importante

es posible bloquear el numero de usuarios concurrentes, es decir, una vez que esten conectados 5 usuarios ya no permitir mas accesos

Re: limitar la concurrencia a 5 usuarios

PostPosted:Tue May 19, 2020 5:56 pm
by jllort
Es posible, pero tendrías que realizar una pequeña modificación en el código fuente. Otro tema que tienes que tener presente es que los usuarios deben deslogearse, en caso contrario si un usuario cierra el navegador ( no se si tus usuarios entrar por el navegador o por el API, supongo que lo primero ), la sessión continuará activa durante 30 minutos hasta que el servidor la mate.

Si quieres realizar los cambios te puedo indicar en que parte de el código tendrías que meterle mano.

Re: limitar la concurrencia a 5 usuarios

PostPosted:Thu May 21, 2020 11:23 pm
by hopeligth
Entiendo la parte de que los usuarios se tienen que desloguear, y como ejemplo vimos que el administrador puede cerrar sesiones, si me interesaria saber en que parte del codigo podria moodificar esto, ya que una solucion que vimos fue tratar de limitarlo desde tomcat pero , nos queda la duda si esto afecta a la hora de acceder a los archivos con la liga que genera openkm para personas ajenas no usuarios

Re: limitar la concurrencia a 5 usuarios

PostPosted:Fri May 22, 2020 6:38 pm
by jllort
Tienes la clase LoggerListener que se ejecuta cada vez que un usuario se logea. Yo creo que lo que te interesa es modificar esta clase, eliminar la authentificacion de el usuario y disparar una excepcion.
https://github.com/openkm/document-mana ... tener.java

Igual la clase PrincipalUtils te puede ser de utilidad para el tema de invalidar la session de el usuario ( más allá de la propia excepcion que igual por ella misma ya lo hace )
https://github.com/openkm/document-mana ... Utils.java

Es posible que te interese alguna otra clase de este paquete
https://github.com/openkm/document-mana ... km/spring/

Y finalmente en el LoggedUsersServlet es donde se listan los usuarios logeados
https://github.com/openkm/document-mana ... rvlet.java

Re: limitar la concurrencia a 5 usuarios

PostPosted:Sun May 24, 2020 4:33 pm
by hopeligth
muchas gracias espero que con lo que comentas pueda resolver en especial la ultima clase donde se listan los usuarios logueados, estoy pensando que puedo obtener cuantos usuarios estan logueados y modificar la clase de acceso al sistema para bloquear si sobrepasan el número permitido.

Re: limitar la concurrencia a 5 usuarios

PostPosted:Mon May 25, 2020 7:04 am
by jllort
Básicamente esta es la idea. Interceptar el proceso de login, verificar el número de usuarios logeados y en caso que sea superior disparar una exception.