Problema

Você configurou Autenticação LDAP via AEM [1] e está falhando em permitir que usuários LDAP efetuem login.  Você vê a mensagem de log abaixo:

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

Causa

O erro de tempo limite geralmente indica que o servidor LDAP está inacessível por AEM devido a um firewall, inacessível (problema de rede), está inativo ou não está respondendo.

Resolução

Para corrigir o problema, você precisa depurar a conexão do AEM para o servidor LDAP.  Aqui estão algumas coisas para verificar:

  • 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 sua equipe de operações de rede e com a equipe que gerencia seus 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 comando ldapsearch.  No Windows, use JXplorer.
  • Se o servidor puder acessar o servidor LDAP, mas o login baseado em LDAP do AEM estiver falhando, será necessário verificar a configuração "Provedor de identidade do LDAP".  Faça login no console da Web OSGi (http://aem-host:port/system/console/configMgr) e procure por "Provedor de Identidade LDAP do Oak Apache Jackrabbit".  Algumas coisas que você pode fazer para tentar resolver o problema:
    • Ajuste o "DN da base do usuário","Filtro extra do usuário","DN da base do grupo"e"Agrupar filtro extra"para fazer com que o filtro de pesquisa retorne apenas usuários e grupos relevantes para o AEM.
    • Certifique-se de que "Vincular DN"e"Senha de ligação" estão corretas
    • Desmarque "Pesquisa de pool de administradores em validar"e"Pesquisa de pool de usuários na validação."
    • Aumentar o "Tempo limite de pesquisa"

Captura de tela da configuração do provedor de identidade LDAP:

rtaimage_3_
  • No caso da maioria dos clientes corporativos, o LDAP geralmente tem balanceamento de carga. Você também pode enfrentar esse problema se o balanceador de carga parado na frente dos servidores LDAP tiver colocado o IP do servidor AEM na lista negra por algum motivo. Se esse problema ocorrer, envolva a equipe LDAP para resolver esse problema. Como um teste rápido, você pode querer acertar o IP do servidor LDAP ignorando diretamente o balanceador de carga do LDAP para ver se a autenticação LDAP no AEM foi bem-sucedida.

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online