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

Descrição

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

Resolução

Para corrigir o problema, você precisa depurar a conexão do AEM para o servidor LDAP. Veja algumas coisas que devem ser verificadas:

  1. 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.

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

  3. 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:

    • Ajuste as DN de base do usuário, Filtro extra do usuário, DN de base de grupoFiltro extra do grupo para fazer com que o filtro de pesquisa retorne somente usuários e grupos relevantes ao AEM.
    • Certifique-se de que o DN de Ligação e Vincular senha estão corretas.
    • Desmarcar Pesquisa de pool de administradores na validação e Pesquisa de pool de usuários na validação.
    • Aumente o Tempo limite da 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 é 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.

Nesta página