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 Configurando openkm.xml.
Para saber más sobre los plugins de OpenKM, visite Registrar un nuevo 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 forma:
| Property | Value |
|---|---|
| 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. |
Custom Principal Adapter
Sección titulada «Custom Principal Adapter»Debe seguir los siguientes pasos para configurar correctamente este componente:
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 y 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
Authentication Provider
Sección titulada «Authentication Provider»Debe seguir los siguientes pasos para configurar correctamente este componente:
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 de security-provider.jar en la ruta: $CATALINA_HOME/webapps/openkm/WEB-INF/classes/com/openkm/security/provider
- Copie com.openkm.security.utils.Users.class de 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>