問題点

LDAP authentication via AEM [1]が設定されているかどうか確認すると、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

原因

タイムアウトエラーは、通常、LDAP サーバーがファイアウォールが原因で AEM で到達できない、到達できない(ネットワーク問題)、ダウン、または無応答状態であるいづれかを示します。

解決策

この問題を解決するには、AEM から LDAP サーバーへの接続をデバッグする必要があります。以下は、チェックするものです。

  • LDAP サーバーは、JXplorer のような LDAP ブラウザーを使用して AEM サーバー以外の機械からアクセスできることを確認します。アクセスできない場合は、サーバーがダウンする、或いはネットワークやファイアウォールの問題が発生する可能性があります。ネットワークの操作チームおよび貴社の LDAP サーバー調査を管理するチームに問い合わせてください。
  • LDAP サーバーが他の機械からアクセスできる場合は、AEM サーバー OS からテストします。LDAP クライアントを AEM サーバー OS にインストールし、そこから LDAP サーバーにアクセスします。Linux では、ldapsearch コマンドを使用してください。Windows の場合、JXplorer 使用します。
  • サーバーが LDAP サーバーにアクセスできるが、AEM LDAP-based ログインが失敗した場合は、「LDAP ID プロバイダ」の設定を確認する必要があります。OSGi Web Console(http://aem-host:port/system/console/configMgr)にログインして、「Apache Jackrabbit Oak LDAP Identity Provider」を検索します。問題が解決する可能性があることを以下に示します。
    • User base DN」、「User extra filter」、「Group base DN」、「Group extra filter」を微調整し、サーチフィルターに、AEM に関係するユーザーとグループに応答だけさせます。
    • Bind DN」と「Bind password」が正しいことを確認してください
    • Admin pool lookup on validate」と「User pool lookup on validate」のチェックを解除してください。
    • 検索タイムアウト」の値を大きく設定します

LDAP ID プロバイダーの設定のスクリーンショット:

rtaimage_3_
  • ほとんどの企業のお客様の場合、LDAP はしばしば負荷が分散されています。LDAP サーバーの前にある負荷分散装置が、何らかの理由でブラックリストに登録された AEM サーバー IP 場合を持っている場合、この問題が発生することもあります。この問題が発生する場合は、LDAP チームに問い合わせて、この問題を解決してください。クイックテストとして、AEM の LDAP 認証が成功するかどうか、LDAP 負荷分散装置を直接通過し、LDAP サーバー IP を直接ヒットしたいかもしれません。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー