Ir al contenido
Otras versiones

Cargando…

Parámetros de configuración de LDAP

La integración de OpenKM con LDAP se basa en varias búsquedas LDAP para obtener datos.

Las consultas LDAP se componen de tres elementos:

  1. Atributo u objeto que se desea obtener.
  2. Nodo base para delimitar el ámbito de la petición.
  3. Opciones de filtrado.

Consulta para obtener el atributo mail de un objeto de tipo person cuyo atributo sAMAccountName tenga el valor {0} (este parámetro indica el identificador del usuario), desde el nodo cn=users,dc=company,dc=local y sus descendientes.

Ventana de terminal
principal.ldap.mail.attribute
mail
principal.ldap.mail.search.base
cn=users,dc=company,dc=local
principal.ldap.mail.search.filter
(&(objectclass=person)(sAMAccountName={0}))
  • principal.ldap.user.* se utiliza para obtener la lista de usuarios.
  • principal.ldap.username.* se utilizan para obtener el nombre del usuario.
  • principal.ldap.mail.* se utilizan para obtener las direcciones de correo de los usuarios.
  • principal.ldap.role.* se utilizan para obtener la lista de roles.
  • principal.ldap.roles.by.user.* se utilizan para obtener los roles de un usuario.
  • principal.ldap.users.by.role.* se utilizan para obtener los usuarios de un rol.

Para la obtención de datos, estos se inyectan como argumentos en los filtros de las opciones. Por ejemplo, para obtener el correo del usuario, la aplicación utiliza el parámetro {0} para establecer el valor del argumento (el identificador del usuario) en las opciones de filtrado.

Consultas que utilizan parámetros para el filtrado:

  • principal.ldap.mail.search.filter=(sAMAccountName={0}). Donde {0} es el valor del atributo obtenido de principal.ldap.user.attribute.
  • principal.ldap.roles.by.user.search.filter=(&(objectclass=user)(sAMAccountName={0})). Donde {0} es el valor del atributo obtenido de principal.ldap.user.attribute.
  • principal.ldap.username.search.filter=(sAMAccountName={0}). Donde {0} es el valor del atributo obtenido de principal.ldap.user.attribute.
  • principal.ldap.users.by.role.search.filter=(&(objectClass=group)(cn={0})). Donde {0} es el valor del atributo obtenido de principal.ldap.role.attribute.
Campo / Propiedad Tipo Descripción
principal.adapter String Clase utilizada para conectar con LDAP.
system.login.lowercase String De forma predeterminada está vacío. Al conectar con AD (Microsoft Active Directory) debe establecerse en “true”, lo que obliga a que todos los usuarios inicien sesión con el identificador de usuario en minúsculas. El motivo es que OpenKM distingue entre mayúsculas y minúsculas, mientras que Microsoft Active Directory no.
principal.ldap.server String Servidor LDAP.
principal.ldap.security.principal String Nombre distinguido (DN) del usuario LDAP.
principal.ldap.security.credentials String Contraseña del usuario LDAP.
principal.ldap.referral String Esta propiedad especifica cómo gestiona OpenKM las referencias (referrals) que envía AD en los resultados de búsqueda. En la mayoría de los casos, este valor está vacío.
Nota para los usuarios de Active Directory (AD): los servidores AD no pueden gestionar las referencias automáticamente, lo que provoca que se lance una PartialResultException cada vez que se encuentra una referencia en una búsqueda. Para evitarlo, establezca la propiedad ignorePartialResultException en true. Actualmente no hay forma de gestionar manualmente estas referencias en forma de ReferralException; es decir, o bien se obtiene la excepción (y se pierden los resultados), o bien se ignoran todas las referencias (si el servidor no puede gestionarlas correctamente). No hay una forma sencilla de recibir una notificación de que se ha ignorado una PartialResultException (aparte del registro).
Más información en Spring LdapTemplate.
Los valores pueden ser:
“ignore”
Si principal.ldap.referral=ignore, se lanzará la siguiente excepción cuando se encuentre una referencia:
bash<br>javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name 'dc=company,dc=com'<br>
“follow”
Si principal.ldap.referral=follow, OpenKM seguirá automáticamente la referencia. Para que funcione correctamente, asegúrese de que OpenKM pueda acceder al servidor referenciado. No deberían mostrarse los errores sobre ReferralExceptions.
“throw”
Si principal.ldap.referral=throw, se lanzará la siguiente excepción:
bash<br>com.sun.jndi.ldap.LdapReferralException: Continuation Reference; remaining name 'dc=company,dc=com'<br>
Más información en Referrals in the JNDI.
principal.ldap.users.from.roles Boolean Cuando es “true”, intenta obtener todos los usuarios a partir de la lista de roles.
principal.ldap.user.attribute String Atributo del usuario.
principal.ldap.user.search.base List Lista de nodos base.
principal.ldap.user.search.filter String Opciones de filtrado.
principal.ldap.username.attribute String Atributo del nombre de usuario.
principal.ldap.username.search.base String Nodo base.
principal.ldap.username.search.filter String Opciones de filtrado.
principal.ldap.mail.attribute String Atributo del correo.
principal.ldap.mail.search.base String Nodo base.
principal.ldap.mail.search.filter String Opciones de filtrado.
principal.ldap.role.attribute String Atributo del rol.
principal.ldap.role.search.base List Lista de nodos base.
principal.ldap.role.search.filter String Opciones de filtrado.
principal.ldap.roles.by.user.attribute String Atributo del usuario.
principal.ldap.roles.by.user.search.base String Nodo base.
principal.ldap.roles.by.user.search.filter String Opciones de filtrado.
principal.ldap.users.by.role.attribute String Atributo del rol.
principal.ldap.users.by.role.search.base String Nodo base.
principal.ldap.users.by.role.search.filter String Opciones de filtrado.
Campo / Propiedad Tipo Descripción
principal.adapter String com.openkm.plugin.principal.LdapPrincipalAdapter
system.login.lowercase String true
principal.ldap.server String ldap://192.168.1.20:389
principal.ldap.security.principal String CN=Administrator,OU=OpenKM,DC=company,DC=com
principal.ldap.security.credentials String password
principal.ldap.referral String
principal.ldap.users.from.roles Boolean false
principal.ldap.user.attribute String sAMAccountName
principal.ldap.user.search.base List DC=company,DC=com
principal.ldap.user.search.filter String objectclass=person
principal.ldap.username.attribute String cn
principal.ldap.username.search.base String DC=company,DC=com
principal.ldap.username.search.filter String (sAMAccountName={0})
principal.ldap.mail.attribute String mail
principal.ldap.mail.search.base String DC=company,DC=com
principal.ldap.mail.search.filter String (sAMAccountName={0})
principal.ldap.role.attribute String cn
principal.ldap.role.search.base List DC=company,DC=com
principal.ldap.role.search.filter String objectclass=group
principal.ldap.roles.by.user.attribute String memberOf
principal.ldap.roles.by.user.search.base String DC=company,DC=com
principal.ldap.roles.by.user.search.filter String (&(objectclass=person)(sAMAccountName={0}))
principal.ldap.users.by.role.attribute String member
principal.ldap.users.by.role.search.base String DC=company,DC=com
principal.ldap.users.by.role.search.filter String (&(objectClass=group)(cn={0}))