Ambiente
Adobe Experience Manager
Problema
Após configurar Autenticação LDAP via AEM, está falhando em permitir que usuários LDAP façam logon. A seguinte mensagem de log é mostrada:
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
Para corrigir o problema, você precisa depurar a conexão do AEM para o servidor LDAP. Veja algumas coisas que devem ser verificadas:
Verifique se o servidor LDAP está acessível a partir de outras máquinas que não o servidor AEM usando um navegador LDAP, como JXplorer. Se não estiver acessível, pode estar desativado ou pode haver um problema de rede ou firewall. Entre em contato com a equipe de operações de rede e a equipe que gerencia os servidores LDAP para investigar.
Se o servidor LDAP for acessível a partir de outras máquinas, teste a partir do SO do servidor AEM. Instale um cliente LDAP no SO do servidor AEM e tente acessar o servidor LDAP a partir daí. No Linux, você pode usar o ldapsearch comando. No Windows, use JXplorer.
Se o servidor puder acessar o servidor LDAP, mas AEM login baseado em LDAP estiver falhando, então precisamos verificar a variável Provedor de identidade LDAP configuração. Faça logon no Console da Web OSGi (https://)aem-host:port/system/console/configMgr) e pesquise por Provedor de identidade LDAP do Apache Jackrabbit Oak. Algumas coisas que você pode tentar resolver o problema:
Captura de tela da configuração do Provedor de identidade LDAP:
No caso da maioria dos clientes corporativos, o LDAP geralmente é balanceado de carga. Você também pode enfrentar esse problema se o balanceador de carga sentado na frente dos servidores LDAP tiver incluído o IP do servidor AEM na blacklist por algum motivo. Se esse problema ocorrer, envolva a equipe LDAP para resolver esse problema. Como um teste rápido, você pode querer pressionar o IP do servidor LDAP ignorando diretamente o balanceador de carga do LDAP para ver se a autenticação LDAP no AEM é bem-sucedida.
Causa
O erro de tempo limite geralmente indica que o servidor LDAP está inacessível por AEM devido a um firewall, problema de rede ou está inativo ou não responde.