タイムアウト エラーで LDAP 認証が失敗する |AEMOak
この記事では、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 サーバーへの接続をデバッグする必要があります。 次の点に注意してください。
-
JXplorer などの LDAP ブラウザーを使用して、AEM サーバー以外のマシンから LDAP サーバーにアクセスできることを確認します。 アクセスできない場合は、ダウンしているか、ネットワークまたはファイアウォールに問題がある可能性があります。 ネットワーク運用チームおよび LDAP サーバーを管理するチームに問い合わせて、調査を依頼してください。
-
他のマシンから LDAP サーバーにアクセスできる場合は、AEM サーバーの OS からテストします。 AEM Server OS に LDAP クライアントをインストールし、そこから LDAP サーバーにアクセスしてみてください。 Linux の場合は、ldapsearch コマンドを使用できます。 Windows の場合は JXplorer を使用します。
-
サーバーが LDAP サーバーにアクセスできるが、AEM LDAP ベースのログインが失敗する場合は、「LDAP Identity Provider」設定を確認する必要があります。 OSGi web コンソール (https://aem-host:port/system/console/configMgr)にログインし、Apache Jackrabbit Oak LDAP Identity Provider を検索します。 この問題を解決するために、次のようなことを試してみてください。
- ユーザーベース DN、ユーザー追加フィルター、グループベース DN、および グループ追加フィルター を微調整して、検索フィルターが関連するユーザーとグループのみをAEMに返すようにします。
- Bind DN と Bind パスワード が正しいことを確認します。
- 検証時に 管理プール参照 および検証時に ユーザープール参照)をオフにします。
- 検索タイムアウト を増やします。
LDAP Identity Provider 設定のスクリーンショット:
-
ほとんどの企業のお客様の場合、LDAP は負荷分散されます。 また、LDAP サーバーの前にあるロードバランサーが、何らかの理由でAEM Server IP をブラックリストに登録している場合も、この問題が発生する可能性があります。 この問題が発生した場合は、LDAP チームに連絡してこの問題を解決してもらいます。 すぐに試せるように、LDAP ロードバランサーをバイパスして LDAP サーバーの IP を直接ヒットし、AEMの LDAP 認証が成功したかどうかを確認することもできます。
原因:
このタイムアウトエラーは通常、ファイアウォールやネットワークの問題が原因で、AEMから LDAP サーバーに到達できないか、サーバーがダウンしているか、応答がないことを示します。