LDAP驗證失敗並發生逾時錯誤 | AEM Oak
疑難排解並解決LDAP使用者無法登入的問題,確保順利的使用者存取和安全性。 若要修正錯誤,請偵錯從AEM到LDAP伺服器的連線。
說明 description
環境
Adobe Experience Manager
問題/症狀
設定後 透過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伺服器的連線進行偵錯。 以下是一些要檢查的事項:
-
AEM檢查LDAP伺服器是否可使用LDAP瀏覽器(例如 JXplorer. 如果無法存取,則可能是因為網路或防火牆問題。 請連絡您的網路營運團隊和管理您的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 Identity Provider設定的熒幕擷圖:
-
對於大多數企業客戶而言,LDAP通常是負載平衡的。 如果位於LDAP伺服器前的負載平衡器因為某些原因將您的AEM伺服器IP列入黑名單,您也可能面臨此問題。 如果發生此問題,請洽詢LDAP團隊以解決此問題。 快速測試時,您可以直接略過LDAP負載平衡器來點選LDAP伺服器IP,以檢視AEM中的LDAP驗證是否成功。
原因
逾時錯誤通常表示AEM無法連線LDAP伺服器(因為防火牆、網路問題),或是伺服器已關閉或沒有回應。