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

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.

Siga los pasos siguientes para configurar este componente correctamente:

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 compilado el proyecto Maven (security-provider), debe copiar security-provider-jar-with-dependencies.jar en la ruta: $CATALINA_HOME/plugins

Siga los pasos siguientes para configurar este componente correctamente:

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

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>