LDAP身份验证失败并出现超时错误 | AEM Oak
本文提供了有关如何排查和解决阻止LDAP用户登录的问题、确保顺利用户访问和安全的步骤。 要修复该错误,请调试从AEM到LDAP服务器的连接。
描述 description
环境
Adobe Experience Manager 6.5
问题/症状
通过AEM🔗配置LDAP身份验证后,无法允许LDAP用户登录。 将显示以下日志消息:
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
解决方法 resolution
您需要调试从AEM到LDAP服务器的连接。 以下是一些要检查的内容:
-
检查是否可以使用LDAP浏览器(如JXplorer)从AEM服务器以外的其他计算机访问LDAP服务器。 如果该服务器不可访问,则它可能已关闭,或者可能存在网络或防火墙问题。 请联系您的网络运营团队和管理您的LDAP服务器的团队进行调查。
-
如果可以从其他计算机访问LDAP服务器,则从AEM服务器操作系统进行测试。 在AEM服务器操作系统上安装LDAP客户端,并尝试从该处访问LDAP服务器。 在Linux上,您可以使用ldapsearch命令。 在Windows上,使用JXplorer。
-
如果服务器可以访问LDAP服务器,但基于AEM LDAP的登录失败,则需要检查 LDAP标识提供程序 配置。 登录到 OSGi Web控制台 (https://aem-host:port/system/console/configMgr)并搜索 Apache Jackrabbit Oak LDAP标识提供程序。 您可以尝试一些可以解决此问题的方法:
- 微调 用户基本DN、用户额外筛选器、组基本DN 和 组额外筛选器,使搜索筛选器仅将相关用户和组返回到AEM。
- 确保 绑定DN 和 绑定密码 正确。
- 取消选中 验证 时管理池查找,以及 验证时用户池查找。
- 增加 搜索超时。
LDAP身份提供程序配置的屏幕截图:
-
对于大多数企业客户来说,LDAP通常是负载平衡的。 如果位于LDAP服务器前的负载平衡器由于某种原因已将您的AEM服务器IP列入黑名单,则您也可能会遇到此问题。 如果出现此问题,请联系LDAP团队以解决此问题。 作为快速测试,您可能希望直接跳过LDAP负载平衡器来点击LDAP服务器IP,以查看AEM中的LDAP身份验证是否成功。
原因
超时错误通常表示AEM由于防火墙、网络问题而无法访问LDAP服务器,或者该服务器已关闭或无响应。