Problème

Vous avez configuré l'authentification LDAP via AEM [1] et il est impossible d'autoriser les utilisateurs LDAP à se connecter.  Le message de journal ci-dessous s’affiche :

Caused by: org.apache.directory.api.ldap.model.exception.LdapException: TimeOut occurred
at org.apache.directory.ldap.client.api.LdapNetworkConnection.writeRequest(LdapNetworkConnection.java:4106)
at org.apache.directory.ldap.client.api.LdapNetworkConnection.bindAsync(LdapNetworkConnection.java:1290)
at org.apache.directory.ldap.client.api.LdapNetworkConnection.bind(LdapNetworkConnection.java:1188)
at org.apache.directory.ldap.client.api.AbstractLdapConnection.bind(AbstractLdapConnection.java:127)
at org.apache.directory.ldap.client.api.AbstractLdapConnection.bind(AbstractLdapConnection.java:112)
at org.apache.directory.ldap.client.api.DefaultLdapConnectionFactory.bindConnection(DefaultLdapConnectionFactory.java:64)
at org.apache.directory.ldap.client.api.DefaultLdapConnectionFactory.newLdapConnection(DefaultLdapConnectionFactory.java:107)
at org.apache.directory.ldap.client.api.ValidatingPoolableLdapConnectionFactory.makeObject(ValidatingPoolableLdapConnectionFactory.java:133)
at org.apache.directory.ldap.client.api.ValidatingPoolableLdapConnectionFactory.makeObject(ValidatingPoolableLdapConnectionFactory.java:59)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1188)
at org.apache.directory.ldap.client.api.LdapConnectionPool.getConnection(LdapConnectionPool.java:123)
at org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider.connect(LdapIdentityProvider.java:771)
... 57 common frames omitted

Cause

L’erreur de délai d’expiration indique généralement que le serveur LDAP est inaccessible par AEM en raison d’un pare-feu, d’un problème de réseau, d'une panne ou d'une absence de réponse.

Résolution

Pour résoudre le problème, vous devez déboguer la connexion d'AEM vers le serveur LDAP.  Voici quelques conseils à suivre :

  • Vérifiez que le serveur LDAP est accessible à partir de machines autres que le serveur AEM en utilisant un navigateur LDAP tel que JXplorer.  S'il n'est pas accessible, alors il pourrait être en panne ou il pourrait y avoir un problème de réseau ou de pare-feu. Contactez votre équipe d'opérations réseau et l’équipe qui gère vos serveurs LDAP pour qu'elles résolvent le problème.
  • Si le serveur LDAP est accessible à partir d'autres ordinateurs, effectuez un test à partir du système d'exploitation du serveur AEM.  Installez un client LDAP sur le système d'exploitation du serveur AEM et essayez d'accéder au serveur LDAP à partir de là.  Sous Linux, vous pouvez utiliser la commande ldapsearch.  Sous Windows, utilisez JXplorer.
  • Si le serveur peut accéder au serveur LDAP, mais que la connexion AEM-LDAP échoue, nous devons vérifier la configuration "LDAP Identity Provider".  Connectez-vous à la console Web OSGi (http:// aem-host:port/system/console/configMgr) et recherchez " Apache Jackrabbit Oak LDAP Identity Provider".  Certaines choses que vous pouvez essayer pourraient résoudre le problème :
    • Réglez précisément "User base DN", "User extra filter", "Group base DN" et " Group extra filter" pour que le filtre de recherche ne renvoie que les utilisateurs et groupes concernés vers AEM.
    • Assurez-vous que "Bind DN" et "Bind password" sont corrects.
    • Décochez la case "Admin pool lookup on validate" et "User pool lookup on validate."
    • Augmentez le "Search Timeout".

Capture d'écran de la configuration du fournisseur d'identité LDAP :

rtaimage_3_
  • Dans le cas de la plupart des clients d'entreprise, LDAP est souvent équilibré. Vous pouvez également faire face à ce problème si l'équilibreur de charge situé devant les serveurs LDAP a mis en liste noire votre adresse IP AEM Server pour une raison quelconque. Si ce problème se pose, contactez l'équipe LDAP afin de résoudre ce problème. Pour réaliser un test rapide, appuyez sur l'adresse IP du serveur LDAP en contournant directement l'équilibreur de charge LDAP pour voir si l'authentification LDAP dans AEM a réussi.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne