Librería JAVA para la Integración de Aplicaciones

RECU-0495 (Recurso Técnica)

Descripción

Librería que pretende facilitar la integración de aplicaciones java con la infraestructura GUIA.

Funcionalidades

Las principales funcionalidades ofrecidas son:

  • Autenticación de usuarios en GUIA (MaG4JAuthenticator).
  • Mantenimiento de sesión en aplicaciones web mediente el uso de filtros J2EE (subclase de javax.servlet.Filter) que automatiza también la autenticación de usuarios (ApplicationAuthenticator)
  • Creación de instancias cliente para la utilización de los servicios web de Directorio de GUIA (DirectorioClientFactory)
  • Creación de instancias cliente para la utilización de los servicios web de Roles de GUIA (RolesClientFactory).

Inclusión en un proyecto

Se encuentra disponible en el Repositorio de Librerías de la Junta de Andalucía. Para su inclusión en un proyecto desarrollado con maven basta con incluir la siguiente dependencia en el archivo pom.xml

        <dependency>
            <groupId>es.juntadeandalucia.guia.integracion</groupId>
            <artifactId>mag4j</artifactId>
            <version>(versión de la librería)</version>
            <scope>compile</scope>
        </dependency>

Configuración

La configuración de la librería se establece en un fichero 'mag4j.properties' (se podría utilizar otro nombre) ubicado en el classpath (por ejemplo /WEB-INF/classes). En dicho fichero se deben especificar las propiedades que se describen a continuación. Serán obligatorias aquellas propiedades que se correspondan con la funcionalidad que se pretenda aprovechar de la librería.

Propiedades comunes a todas las funcionalidades o módulos

NombreDescripciónValor inicial o ejemplo
truststore_location Ruta al repositorio de certificados confiables. En él deberán estar almacenados los certificados de servidor para poder establecer comunicaciones seguras https o ldaps /ruta/al/repositorio
truststore_password Clave del repositorio de certificados confiables myPassword

Propiedades del módulo MaG4JAuthenticator

NombreDescripciónValor inicial o ejemplo
 initialContextFactory Clase factoría de contextos JNDI. com.sun.jndi.ldap.LdapCtxFactory
 host Host donde se aloja el servidor OID. ldap://<host>:<puerto>
 authMode Modo de autenticación LDAP. simple
 baseDN Rama de personas del OID. o=personas,o=identidades,o=comun,dc=juntadeandalucia,dc=es
 oidUserDN Cuenta de servicio para conectarse al OVD. <String>
 oidPassword Password de la cuenta de servicio. <String>
 userSearchFilter Filtro LDAP para la busqueda de usuarios. Permite restringir el conjunto de usuarios en el que se debe encontrar el usuario a autenticar. <String>

Propiedades del módulo ApplicationAuthenticator

Nota: También son necesarias las propiedades del módulo MaG4JAuthenticator
 NombreDescripciónValor inicial o ejemplo
 loginResourcePath URI donde se localiza la página de login de la aplicación.Usado también por ApplicationAuthenticator. <String>
 applicationAuthenticatorClass Clase que implementará la interfaz ApplicationAuthenticator es.juntadeandalucia.guia.mag4j.auth.app.ApplicationAuthenticatorImpl
 sendAlertOnLogin Opcional. Indica al flitro J2EE que en caso de redirigir al usuario a la página de login (p. ej. por sesión caducada) se mostrará un alert javascript con un mensaje avisando de la redirección. true o false
 alertMessage Opcional. Mensaje del alert javascript. Se mostrará si sendAlertOnLogin vale true. <String>
 loggedUserAttribute Atributo donde encontrar los datos del usuario en la sesión. <String>
 requestUserParameter Nombre del parámetro de la petición de donde leer el nombre del usuario. El nombre de este parámetro coincidira con el usado en la página de login. <String>
 requestPasswordParameter Nombre del parámetro de la petición de donde leer la password del usuario. El nombre de este parámetro coincidira con el usado en la página de login. <String>

 Propiedades del módulo DirectorioClientFactory

NombreDescripciónValor inicial o ejemplo
 guia_ws_dir_userdn DN de la cuenta de servicio que usará el cliente. <String>
 guia_ws_dir_pwd Password de la cuenta de servicio. <String>
 guia_ws_dir_wsdl_location URL donde se encuentra publicado el descriptor del servicio web <String>

 Propiedades del módulo RolesClientFactory

NombreDescripciónValor inicial o ejemplo
 guia_ws_roles_userdn DN de la cuenta de servicio que usará el cliente. <String>
 guia_ws_roles_pwd Password de la cuenta de servicio. <String>
 guia_ws_roles_wsdl_location URL donde se encuentra publicado el descriptor del servicio web <String>