Ir al contenido
Otras versiones

Cargando…

Parámetros de configuración de LDAP

La integración de OpenKM con LDAP se basa en un par de búsquedas LDAP para recuperar datos.

Las consultas LDAP se componen de tres elementos:

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

La consulta para recuperar el atributo mail de un objeto de tipo person cuyo atributo sAMAccountName tiene el valor {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 utilizan para recuperar la lista de usuarios.
  • principal.ldap.username.* se utilizan para recuperar el nombre de usuario.
  • principal.ldap.mail.* se utilizan para recuperar la dirección de correo del usuario.
  • principal.ldap.role.* se utilizan para recuperar la lista de roles.
  • principal.ldap.roles.by.user.* se utilizan para recuperar los roles de un usuario.
  • principal.ldap.users.by.role.* se utilizan para recuperar los usuarios de un rol.

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

Consultas que utilizan parámetros para filtrar:

  • principal.ldap.mail.search.filter=(sAMAccountName={0}). Donde {0} es el valor del atributo recuperado de principal.ldap.user.attribute.
  • principal.ldap.roles.by.user.search.filter=(&(objectclass=user)(sAMAccountName={0})). Donde {0} es el valor del atributo recuperado de principal.ldap.user.attribute.
  • principal.ldap.username.search.filter=(sAMAccountName={0}). Donde {0} es el valor del atributo recuperado de principal.ldap.user.attribute.
  • principal.ldap.users.by.role.search.filter=(&(objectClass=group)(cn={0})). Donde {0} es el valor del atributo recuperado de principal.ldap.role.attribute.
Campo / Propiedad Tipo Descripción
principal.adapter String Clase utilizada para conectar con LDAP.
system.login.lowercase String Por defecto está vacío. En caso de conectar con AD (Microsoft Active Directory) debe establecerse a “true”, lo que fuerza a que todos los usuarios inicien sesión con el Id de usuario en minúsculas. El motivo es que OpenKM distingue 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 las referencias (referrals) que envía AD en los resultados de búsqueda. En casi todos los casos este valor está vacío.
Nota para usuarios de Active Directory (AD): aparentemente, los servidores AD no pueden gestionar las referencias automáticamente, lo que provoca que se lance una PartialResultException siempre que se encuentra una referencia en una búsqueda. Para evitarlo, establezca la propiedad ignorePartialResultException a true. Actualmente no existe forma de gestionar manualmente estas referencias en forma de ReferralException, es decir, o se obtiene la excepción (y se pierden los resultados) o se ignoran todas las referencias (si el servidor no puede gestionarlas correctamente). Tampoco existe ninguna forma sencilla de saber que se ha ignorado una PartialResultException (aparte del registro).
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 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, asegúrese de que OpenKM puede acceder al servidor referido. 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 recuperar 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.
Campo / Propiedad Tipo Descripción
principal.adapter String com.openkm.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}))