limitar la concurrencia a 5 usuarios

Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules
Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
Post Reply
hopeligth
Fresh Boarder
Fresh Boarder
Posts: 3
Joined: Wed May 13, 2020 6:06 pm

limitar la concurrencia a 5 usuarios

Post 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

jllort
Moderator
Moderator
Posts: 11088
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: limitar la concurrencia a 5 usuarios

Post 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.

hopeligth
Fresh Boarder
Fresh Boarder
Posts: 3
Joined: Wed May 13, 2020 6:06 pm

Re: limitar la concurrencia a 5 usuarios

Post 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

jllort
Moderator
Moderator
Posts: 11088
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: limitar la concurrencia a 5 usuarios

Post 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

hopeligth
Fresh Boarder
Fresh Boarder
Posts: 3
Joined: Wed May 13, 2020 6:06 pm

Re: limitar la concurrencia a 5 usuarios

Post 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.

jllort
Moderator
Moderator
Posts: 11088
Joined: Fri Dec 21, 2007 11:23 am
Location: Sineu - ( Illes Balears ) - Spain
Contact:

Re: limitar la concurrencia a 5 usuarios

Post 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.

Post Reply