Falha na autenticação LDAP com erro de tempo limite | AEM Oak

Descrição

Ambiente

Adobe Experience Manager

Problema/Sintomas

Após a configuração Autenticação LDAP via AEM, não está permitindo que os usuários do 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

Resolução

Para corrigir o problema, é necessário depurar a conexão do AEM com o servidor LDAP. Veja algumas coisas que devem ser verificadas:

  1. Verifique se o servidor LDAP pode ser acessado de outras máquinas que não o servidor AEM usando um navegador LDAP como JXplorer. Se não estiver acessível, pode estar inativo ou pode haver um problema de rede ou firewall. Entre em contato com a equipe de operações de rede e com a equipe que gerencia os servidores LDAP para investigar.

  2. 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 desse ponto. No Linux, você pode usar o ldapsearch comando. No Windows, use JXplorer.

  3. Se o servidor conseguir acessar o servidor LDAP, mas o login baseado em AEM LDAP estiver falhando, será necessário verificar o Provedor de Identidade LDAP configuração. Faça logon no Console da Web OSGi (https://aem-host:porta/system/console/configMgr) e procure Provedor de identidade LDAP Apache Jackrabbit Oak. Você pode tentar algumas coisas que podem resolver o problema:

    • Ajuste o DN base do usuário, Filtro extra do usuário, DN de base do grupo, e Filtro extra do grupo para fazer com que o filtro de pesquisa retorne somente usuários e grupos relevantes ao AEM.
    • Verifique se Vincular DN e Vincular senha estão corretas.
    • Desmarcar Pesquisa do pool de administradores ao validar e Pesquisa de pool de usuários na validação.
    • Aumente o Tempo limite de pesquisa.

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

    rtaimage_3_
  4. 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 na frente dos servidores LDAP tiver incluído o seu IP do servidor AEM na blacklist por algum motivo. Se esse problema ocorrer, entre em contato com a equipe do LDAP para resolvê-lo. Como um teste rápido, talvez você queira atingir o IP do servidor LDAP ignorando diretamente o balanceador de carga 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 pelo AEM devido a um problema de firewall ou de rede, ou está inativo ou sem resposta.

Nesta página