AL SIGM (Administración Local-SIGM), es una aplicación puesta a disposición de cualquier organización de forma gratuita por el Ministerio de Industria, Energía y Turismo para proporcionar a dichas administraciones un sistema que permita reunir en formato electrónico toda la documentación de un expediente, integrando los tradicionales subsistemas de Registro, Motor de Expedientes (Flujos de procedimientos) y Archivo
28
stars
32
forks
source link
Autenticación de usuarios en el servicio web del registro presencial #44
Haciendo pruebas me he encontrado con que, la validación de los usuarios en el método createRegister del servicio web del registro presencial no comprueba la clave de los usuarios. Esto es cuando AL-SIGM no está configurado para usar un servidor LDAP sino que se utiliza la política de Invesdoc.
La validación de las credenciales del usuario se hace en com.ieci.tecdoc.idoc.authentication.InvesDocAuthenticationPolicy.java en el método validate:
// Comprobamos password
if (entidad.equals(IS_INVESICRES)){
if (!validatePassword(user.getPassword(), password, user.getId())) {
../..
El problema es que IS_INVESICRES vale "" y la entidad por defecto es "000". Cuando la condición anterior no se cumple, el código que se ejecuta es el mismo que el que se ejecuta cuando la clave del usuario es correcta, así que en la práctica esto significa que mediante el servicio web de registro presencial podemos añadir registros con cualquier nombre de usuario, aunuque desconozcamos su clave.
¿Es un bug? ¿Hay que configurar algún parámetro para que el comportamiento sea el esperado (validar el par usuario/clave?
Hola.
Versión: AL-SIGM 3.0
Haciendo pruebas me he encontrado con que, la validación de los usuarios en el método createRegister del servicio web del registro presencial no comprueba la clave de los usuarios. Esto es cuando AL-SIGM no está configurado para usar un servidor LDAP sino que se utiliza la política de Invesdoc.
La validación de las credenciales del usuario se hace en com.ieci.tecdoc.idoc.authentication.InvesDocAuthenticationPolicy.java en el método validate:
// Comprobamos password if (entidad.equals(IS_INVESICRES)){ if (!validatePassword(user.getPassword(), password, user.getId())) { ../..
El problema es que IS_INVESICRES vale "" y la entidad por defecto es "000". Cuando la condición anterior no se cumple, el código que se ejecuta es el mismo que el que se ejecuta cuando la clave del usuario es correcta, así que en la práctica esto significa que mediante el servicio web de registro presencial podemos añadir registros con cualquier nombre de usuario, aunuque desconozcamos su clave.
¿Es un bug? ¿Hay que configurar algún parámetro para que el comportamiento sea el esperado (validar el par usuario/clave?
Saludos cordiales.