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 (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.

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.

Debe seguir los siguientes pasos para configurar correctamente este componente:

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 y busque la propiedad principal.adapter, y modifique su valor a com.openkm.plugin.principal.CustomPrincipalAdapter

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

Debe seguir los siguientes pasos para configurar correctamente este componente:

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

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"
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>