Ir al contenido
Otras versiones

Cargando…

Security Provider

Información para desarrolladores sobre la autenticación de OpenKM mediante un proveedor de autenticación personalizado (mediante un parche) y un adaptador Principal personalizado (mediante un plugin).

Para obtener más información sobre los proveedores de autenticación de OpenKM, visite Configuración de openkm.xml.

Para obtener más información sobre los plugins de OpenKM, visite Registrar un nuevo plugin.

Debe modificar el fichero llamado openkm.properties dentro de la carpeta $CATALINA_HOME.

Estas propiedades deben añadirse o modificarse de la siguiente 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 donde se encuentra su Tomcat.

Debe leer los siguientes pasos para configurar correctamente esta pieza:

Descargue la aplicación desde el Centro de descargas 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

Una vez que haya compilado el proyecto Maven (security-provider), debe copiar security-provider-jar-with-dependencies.jar en la ruta: $CATALINA_HOME/plugins

Debe leer los siguientes pasos para configurar correctamente esta pieza:

La aplicación es la misma que descargó desde el Centro de descargas de OpenKM.

Una vez que haya 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 parche 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 "Unable to patch file"
fi

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>