Security Provider
Información para desarrolladores sobre la autenticación de OpenKM mediante un proveedor de autenticación personalizado (vía patch) y un adaptador de Principal personalizado (vía plugin).
Para obtener más información sobre los proveedores de autenticación de OpenKM, consulte Configuring openkm.xml.
Para obtener más información sobre los plugins de OpenKM, consulte Register a new plugin.
Descripción general
Sección titulada «Descripción general»Archivo de propiedades
Sección titulada «Archivo de propiedades»Debe modificar el archivo llamado openkm.properties dentro de la carpeta $CATALINA_HOME.
Estas propiedades deben añadirse o modificarse de este modo:
| Propiedad | Valor |
|---|---|
| okm.authentication.database | false |
| okm.authentication.supervisor | false |
| okm.authentication.ldap | false |
| okm.authentication.config | file:/home/openkm/tomcat-8.5.69/openkm.xml Esta es la ruta a su Tomcat. |
Adaptador de Principal personalizado
Sección titulada «Adaptador de Principal personalizado»Siga los pasos siguientes para configurar este componente correctamente:
Paso 1: Descarga
Sección titulada «Paso 1: Descarga»Descargue la aplicación desde el Centro de descargas de OpenKM.
Paso 2: Configuración de OpenKM
Sección titulada «Paso 2: Configuración de OpenKM»Vaya a la configuración a través de la interfaz de administración de OpenKM, busque la propiedad principal.adapter y modifique su valor a com.openkm.plugin.principal.CustomPrincipalAdapter
Paso 3: Instalar el plugin
Sección titulada «Paso 3: Instalar el plugin»Una vez compilado el proyecto Maven (security-provider), debe copiar security-provider-jar-with-dependencies.jar en la ruta: $CATALINA_HOME/plugins
Proveedor de autenticación
Sección titulada «Proveedor de autenticación»Siga los pasos siguientes para configurar este componente correctamente:
Paso 1: Descarga
Sección titulada «Paso 1: Descarga»La aplicación es la misma que descargó desde el Centro de descargas de OpenKM.
Paso 2: Instalar el patch
Sección titulada «Paso 2: Instalar el patch»Una vez compilado el proyecto Maven (security-provider), copie estas dos clases:
- Debe copiar la clase com.openkm.security.provider.TestCustomAuthProvider.class from security-provider.jar into the path: $CATALINA_HOME/webapps/openkm/WEB-INF/classes/com/openkm/security/provider
- Copie com.openkm.security.utils.Users.class desde security-provider.jar a la ruta: $CATALINA_HOME/webapps/openkm/WEB-INF/classes/com/openkm/security/utils
Además, debe configurar un patch para conservar esas clases en futuras actualizaciones de OpenKM. Para ello, cree una carpeta llamada $TOMCAT_HOME/patch. Cree un script llamado prepare.sh con este contenido:
#!/bin/bash
if [ -f "openkm.war" ]; then echo "Patching WAR..." jar uf openkm.war WEB-INF/classes/com/openkm/security/provider/TestCustomAuthProvider.class jar uf openkm.war WEB-INF/classes/com/openkm/security/utils/Users.class echo "Done!"else echo "Not able to patch file"fiPaso 3: Configuración de OpenKM
Sección titulada «Paso 3: Configuración de OpenKM»Necesita el siguiente contenido en su openkm.xml
<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns:beans="http://www.springframework.org/schema/beans" xmlns:security="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">
<!-- Security delegated to classes --> <security:authentication-manager alias="authenticationManager"> <security:authentication-provider ref="testAuthProvider" /> </security:authentication-manager>
<beans:bean id="testAuthProvider" class="com.openkm.security.provider.TestAuthProvider"> </beans:bean></beans:beans>