• Autenticar con Active Directory

  • OpenKM tiene muchas características interesantes, pero es necesario un proceso de configuración para mostrar todo su potencial.
OpenKM tiene muchas características interesantes, pero es necesario un proceso de configuración para mostrar todo su potencial.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #39103  by fjleon
 
saludos, estoy tratando también de integrar openkm con active directory siguiendo los pasos de la guia http://wiki.openkm.com/index.php/Active ... OpenKM_5.1

En login-config.xml coloqué lo siguiente:
Code: Select all
<!-- OpenKM -->
<application-policy name = "OpenKM">
   <authentication> 
     <login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required" > 
        <module-option name="java.naming.provider.url">ldap://IPACTIVEDIRECTORY</module-option> 
        <module-option name="bindDN">CN=CUENTAADMINISTRADOR,CN=users,dc=DOMINIO,dc=COM</module-option> 
        <module-option name="java.naming.referral">follow</module-option> 
        <module-option name="java.naming.security.authentication">simple</module-option> 
        <module-option name="bindCredential">MICLAVE</module-option> 
        <module-option name="baseCtxDN">dc=DOMINIO,dc=COM</module-option> 
        <module-option name="baseFilter">(&(sAMAccountName={0})(objectClass=user))</module-option> 
        <module-option name="rolesCtxDN">dc=DOMINIO,dc=COM</module-option> 
        <module-option name="roleFilter">(member={1})</module-option> 
        <module-option name="roleAttributeID">cn</module-option> 
        <module-option name="roleAttributeIsDN">false</module-option> 
        <module-option name="roleRecursion">2</module-option> 
        <module-option name="searchScope">SUBTREE_SCOPE</module-option> 
        <module-option name="allowEmptyPasswords">false</module-option> 
     </login-module> 
   </authentication> 
</application-policy>
Y luego edite las propiedades de configuracion:
Code: Select all
system.login.lowercase=on
principal.adapter=com.openkm.principal.LdapPrincipalAdapter
 
principal.ldap.server=ldap://ACTIVEDIRECTORY
principal.ldap.security.principal=CN=USUARIOADMINISTRADOR,cn=users,dc=DOMINIO,dc=COM
principal.ldap.security.credentials=CLAVE
 
principal.ldap.user.search.base=dc=DOMINIO,dc=COM
principal.ldap.user.search.filter=(objectclass=person)
principal.ldap.user.attribute=sAMAccountName
 
principal.ldap.role.search.base=dc=DOMINIO,dc=COM
principal.ldap.role.search.filter=(objectclass=group)
principal.ldap.role.attribute=cn
 
principal.ldap.mail.search.base=dc=DOMINIO,dc=COM
principal.ldap.mail.search.filter=(&(objectclass=person)(sAMAccountName={0}))
principal.ldap.mail.attribute=mail
 
principal.ldap.username.search.base=dc=DOMINIO,dc=COM
principal.ldap.username.search.filter=(&(objectclass=person)(sAMAccountName={0}))
principal.ldap.username.attribute=cn
 
principal.ldap.users.by.role.search.base=dc=DOMINIO,dc=COM
principal.ldap.users.by.role.search.filter=(&(objectClass=group)(cn={0}))
principal.ldap.users.by.role.attribute=member
 
principal.ldap.roles.by.user.search.base=dc=DOMINIO,dc=COM
principal.ldap.roles.by.user.search.filter=(&(objectClass=person)(sAMAccountName={0}))
principal.ldap.roles.by.user.attribute=memberOf
 
principal.ldap.referral=follow
Sin embargo al reiniciar no me acepta ningún login ni veo errores en la consola
 #39112  by jllort
 
Estas mirando la página de la wiki que no toca ( espero que cuando hayamos rehecho toda la documentación os ayude a localizar mejor la información )
La página que te interesa en realidad es esta de aquí.
http://wiki.openkm.com/index.php/Ldap-example3 ( otros ejemplos http://wiki.openkm.com/index.php/LDAP_examples )

Primer paso deja el OpenKM.xml como lo tenías antes. Te logeas normalmente contra la base de datos y primero cambia los parametros de configuracion internos ( acuerdate que después de cambiar el principal adapter tienes que reiniciar ).

El primer parametros que tienes que configurar es la url del servidor y las credenciales. El segundo es este de aqui:
Code: Select all
principal.ldap.user.search.base=dc=DOMINIO,dc=COM
principal.ldap.user.search.filter=(objectclass=person)
principal.ldap.user.attribute=sAMAccountName
En este punto ya deberías ver los listados de los usuarios. En caso contrario comprueba que este bien escrito etc.... sino mira el catalina.log a ver si hay algun error. Igual tienes que hacer esto http://wiki.openkm.com/index.php/Troubl ... _with_LDAP
 #39201  by fjleon
 
Tengo dudas sobre los ejemplos y sobre tu explicación.

Primero debo hacer los cambios dentro de la aplicación ? O sea, los principal.ldap... en la parte de administración? Luego tumbo la aplicación, edito el openkm.xml y vuelvo a arrancar?

Aparte, nosotros no tenemos grupos userRole ni userAdmin ni grupos openkm en el active directory y preferimos no tener que tocar ese servidor. El 95% de los usuarios de openkm por base de datos están en userRole. Cómo se tendría que configurar para que deje hacer login a todo el mundo?

Preferimos que en caso de tener que modificar algo como administrador se haga desde la cuenta local okmAdmin

Anexo un ejemplo de la jerarquía de nuestro active directory
Los usuarios de la oficina principal están en:
Code: Select all
OU=Oficina,OU=CORP,DC=seguroscatatumbo,DC=com
Debajo de Oficina están muchos OU de los distintos departamentos

Y los de las sucursales están en:
Code: Select all
OU=Sucursales,OU=CORP,DC=seguroscatatumbo,DC=com
Debajo de Sucursales están muchos OU de las distintas sucursales
 #39220  by jllort
 
A ver, los usuarios y roles o te los pilla todos de base de datos ( la de openkm ) o te los pilla todos del AD, no hay una integración mixta de los usuarios me los coge del AD pero los roles los tengo definidos en el openkm. Nosotros hacemos una integración completa y el control del AD es total.

Sobre como realizar la integración, lo suyo es no modificar nada del OpenKM hasta que los parametros que estan en la administración sean correctos. Lo suyo es cambiar el principal.adapter por el del ldap, reiniciar ( sin cambiar el OpenKM.xml -> continuando autentificando por base de datso ) y trabajar con la configuración desde la administración.

Vas a tener que crear dos roles en el AD el ROLE_ADMIN y el ROLE_USER y asignarselo a los usuarios ( piensa que lo que tienes ahora en las tablas de openkm de alguna forma lo estarás sacando del AD ).

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.