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 Principal personalizado (vía plugin).
Para saber más sobre los proveedores de autenticación de OpenKM, visite Configuring openkm.xml.
Para saber más sobre los plugins de OpenKM, visite Register a new plugin.
Descripción general
Sección titulada «Descripción general»Fichero de propiedades
Sección titulada «Fichero de propiedades»Debe modificar su fichero openkm.properties dentro de la carpeta $CATALINA_HOME.
Estas propiedades deben añadirse/modificarse de esta manera:
| 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 Principal personalizado
Sección titulada «Adaptador Principal personalizado»Debe seguir los siguientes pasos para configurar este componente correctamente:
Paso 1: Descarga
Sección titulada «Paso 1: Descarga»Descargue la aplicación desde el Download center 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 y busque la propiedad principal.adapter, modificando 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
Authentication Provider
Sección titulada «Authentication Provider»Debe seguir los siguientes pasos para configurar este componente correctamente:
Paso 1: Descarga
Sección titulada «Paso 1: Descarga»La aplicación es la misma que descargó desde el Download center 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 desde security-provider.jar en la ruta: $CATALINA_HOME/webapps/openkm/WEB-INF/classes/com/openkm/security/provider
- Copie com.openkm.security.utils.Users.class desde security-provider.jar en la ruta: $CATALINA_HOME/webapps/openkm/WEB-INF/classes/com/openkm/security/utils
Además, debe configurar un patch para preservar 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 este 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>