「ValidateObject に失敗しました」で LDAP 認証に失敗する | AEM

問題点

AEM での LDAP 認証の設定後に LDAP ログインが失敗します。error.log ファイルでは、次のようなエラーがユーザーに表示されます。

23.01.2017 16:02:48.411 *ERROR* [qtp627435238-105] org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModule Error while authenticating 'user001' with ldap
org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityException: Error while binding user credentials
    at org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider.authenticate(LdapIdentityProvider.java:375)
    at org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModule.login(ExternalLoginModule.java:221)
    at org.apache.felix.jaas.boot.ProxyLoginModule.login(ProxyLoginModule.java:52)
    at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
    at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
    at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
    at org.apache.jackrabbit.oak.core.ContentRepositoryImpl.login(ContentRepositoryImpl.java:165)
    at org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:280)
    at com.adobe.granite.repository.impl.CRX3RepositoryImpl.login(CRX3RepositoryImpl.java:94)
Caused by: java.util.NoSuchElementException: Could not create a validated object, cause: ValidateObject failed
    at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1233)
    at org.apache.jackrabbit.oak.security.authentication.ldap.impl.UnboundLdapConnectionPool.getConnection(UnboundLdapConnectionPool.java:46)
    at org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider.authenticate(LdapIdentityProvider.java:364)
    ... 55 common frames omitted

環境

AEM 6.x

原因

LDAP サーバーまたはその設定が、「Apache Jackrabbit Oak LDAP Identity Provider」で使用される検証クエリーでは機能しません。

解決策

この問題を解決するには、以下の手順に従って検証クエリーを無効にします。

  1. http://aem-host:port/system/console/configMgr に移動し、管理者としてログインします。

  2. LdapIdentityProvider を検索し、クリックして設定を開きます。

  3. 次のチェックボックスの選択を解除します。

    • 検証時の管理者のプール参照
    • 検証時のユーザーのプール参照
  4. 保存します。

アドビのロゴ

アカウントにログイン