Ir al contenido
Otras versiones

Cargando…

Parámetros de configuración 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 a obtener.
  2. Nodo base para acotar la petición.
  3. Opciones de filtrado.

La consulta para obtener el atributo mail de un objeto de tipo person con el valor del atributo sAMAccountName {0} -este parámetro indica el userId- 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 usa para obtener la lista de usuarios.
  • principal.ldap.username.* se usa para obtener el nombre de usuario.
  • principal.ldap.mail.* se usan para obtener las direcciones de correo de los usuarios.
  • principal.ldap.role.* se usan para obtener la lista de roles.
  • principal.ldap.roles.by.user.* se usan para obtener los roles de un usuario.
  • principal.ldap.users.by.role.* se usan para obtener los usuarios de un rol.

Para obtener los datos, los argumentos se inyectan en los filtros de opciones. Por ejemplo, para obtener el correo del usuario, la aplicación usa el parámetro {0} para establecer el valor del argumento -userId- en las opciones de filtrado.

Consultas que usan parámetros para filtrar:

  • 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.
Field / Property Type Description
principal.adapter String Este parámetro está obsoleto desde la versión 8.1.12
Clase usada para conectar con LDAP.
system.login.lowercase String Por defecto está vacío. Al conectar con AD (Microsoft Active Directory), debe establecerse a “true”, lo que obliga a todos los usuarios a iniciar sesión con un ID de usuario en minúsculas. El motivo es que OpenKM distingue entre mayúsculas y minúsculas, y 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 los referrals enviados por AD en los resultados de búsqueda. En la mayoría de los casos, este valor está vacío.
Nota para usuarios de Active Directory (AD): los servidores AD no pueden gestionar los referrals automáticamente, lo que provoca que se lance una PartialResultException cada vez que se encuentra un referral en una búsqueda. Para evitarlo, establezca la propiedad ignorePartialResultException a true. Actualmente no hay forma de gestionar manualmente estos referrals como una ReferralException; es decir, o bien obtiene la excepción (y pierde sus resultados), o bien se ignoran todos los referrals (si el servidor no puede gestionarlos correctamente). No hay una forma sencilla de que se le notifique que se ha ignorado una PartialResultException (salvo en el log).
Más información en Spring LdapTemplate.
Los valores posibles son:
ignore
Si principal.ldap.referral=ignore, se lanzará la siguiente excepción cuando se encuentre un referral:
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 el referral. Para que funcione, asegúrese de que OpenKM puede acceder al servidor referenciado. No deberían mostrarse errores de ReferralException.
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 de 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 de 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 de correo.
principal.ldap.mail.search.base String Nodo base.
principal.ldap.mail.search.filter String Opciones de filtrado.
principal.ldap.role.attribute String Atributo de 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 de 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 de rol.
principal.ldap.users.by.role.search.base String Nodo base.
principal.ldap.users.by.role.search.filter String Opciones de filtrado.
Field / Property Type Description
principal.adapter String Este parámetro está obsoleto desde la versión 8.1.12
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}))