Ir al contenido

Buenas prácticas de LDAP para filtrar usuarios y roles

Normalmente solo desea recuperar un subconjunto de los usuarios y roles presentes en su LDAP, para mostrarlos en las listas de la interfaz de usuario o para poder iniciar sesión.

  • Cree un grupo llamado OpenKM (CN=OpenKM,CN=users,DC=company,DC=com). Se usará para filtrar usuarios y roles.
  • Asigne roles y usuarios como miembros del grupo OpenKM.
  • Objetivo: solo los usuarios y roles que sean miembros del grupo OpenKM se mostrarán en las listas de la interfaz de usuario.

Para filtrar la interfaz de usuario:

Campo / Propiedad Tipo Descripción
principal.ldap.user.search.filter String (&(objectclass=person)(memberOf=CN=OpenKM,CN=users,dc=company,dc=com))
principal.ldap.role.search.filter String (&(objectclass=group)(memberOf=CN=OpenKM,CN=users,dc=company,dc=com))
principal.ldap.users.by.role.search.filter String (&(objectclass=group)(cn={0})(memberOf=CN=OpenKM,CN=users,dc=company,dc=com))
principal.ldap.roles.by.user.search.filter String (&(objectClass=person)(sAMAccountName={0})(memberOf=CN=OpenKM,CN=users,dc=company,dc=com))

Para restricciones de inicio de sesión:

Modifique openkm.properties con:

ldap.user.search.filter=(&(sAMAccountName={0})(memberOf=CN=OpenKM,CN=users,DC=company,DC=com))>

Si usa openkm.xml, entonces use:

<module-option name="baseFilter">(&amp;(sAMAccountName={0})(memberOf=CN=OpenKM,CN=users,DC=company,DC=com))>

Ejemplo basado en los grupos ROLE_USER y ROLE_ADMIN

Sección titulada «Ejemplo basado en los grupos ROLE_USER y ROLE_ADMIN»
  • Cree un grupo llamado OpenKM (CN=OpenKM,CN=users,DC=company,DC=com). Se usará para filtrar roles.
  • Asigne roles como miembros del grupo OpenKM.
  • Objetivo: solo los roles que sean miembros del grupo OpenKM se mostrarán en las listas de la interfaz de usuario.
  • Objetivo: solo los usuarios que sean miembros de los grupos ROLE_USER o ROLE_ADMIN se mostrarán en las listas de la interfaz de usuario.

Para filtrar la interfaz de usuario:

Campo / Propiedad Tipo Descripción
principal.ldap.user.search.filter String (&(objectclass=person) (|(memberOf=cn=ROLE_USER,cn=users,dc=company,dc=com)(memberOf=cn=ROLE_ADMIN,cn=users,dc=company,dc=com)))
principal.ldap.role.search.filter String (&(objectclass=group)(memberOf=cn=OpenKM,dc=company,dc=com))
principal.ldap.users.by.role.search.filter String (&(objectClass=group)(cn={0})(memberOf=cn=OpenKM,cn=users,DC=company,DC=com))
principal.ldap.roles.by.user.search.filter String (&(objectClass=person)(sAMAccountName={0})(memberOf=cn=OpenKM,cn=users,DC=company,DC=com))

Para restricciones de inicio de sesión:

Modifique openkm.properties con:

ldap.user.search.filter=(&(sAMAccountName={0})(objectClass=person)(|(memberOf=CN=ROLE_USER,CN=users,dc=weyler,dc=local)(memberOf=CN=ROLE_ADMIN,CN=users,dc=weyler,dc=local)))

Si usa openkm.xml, entonces use:

<module-option name="baseFilter">(&amp;(sAMAccountName={0})(objectClass=person)(|(memberOf=CN=ROLE_USER,CN=users,dc=weyler,dc=local)(memberOf=CN=ROLE_ADMIN,CN=users,dc=weyler,dc=local)))