【OpenAM】プラグイン org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo で LDAP 例外が発生しました。LDAP エラーコード = 65

  •  
 
H.S.2016年10月27日 - 21:42 に投稿

タグ

概要

OpenAMとOpenDJでユーザのオブジェクトクラスや属性を設定後、ユーザ作成時に以下のようなエラーが発生した。

プラグイン org.forgerock.openam.idrepo.ldap.DJLDAPv3Repo で LDAP 例外が発生しました。LDAP エラーコード = 65

原因

LDAPのエラーコードで探してみると以下記述があった。

オブジェクト・クラス違反が発生しました (例えば、"required" 属性が項目から抜けています)。

また、OpenAMの以下ログを読むと、OpenAMもしくはOpenDJの設定が一致していないことで発生しているように読める。

  • 参照先のログファイル
/usr/share/tomcat/openam/openam/debug/IdRepo
  • ログ
DJLDAPv3Repo:10/27/2016 09:43:20:260 AM BST: Thread[http-bio-8080-exec-4,5,main]: TransactionId[993318f5-e73d-4be9-844e-fc58a6a328ef-536]
ERROR: Unable to add a new entry: account_nomal attrMap: {sn=[account_nomal], cn=[account_nomal], inetuserstatus=[Active], givenname=[account_nomal], objectclass=[iplanet-am-managed-person, devicePrintProfilesContainer, iPlanetPreferences, iplanet-am-user-service, lastLoginDateoc, forgerock-am-dashboard-service, changePasswordoc, top, manuallockDateoc, sunAMAuthAccountLockout, yahoo-idoc, iplanet-am-auth-configuration-service, changePasswordDateoc, deletedDateoc, inetuser, sunFederationManagerDataStore, applyNooc, sunFMSAML2NameIdentifier, inetorgperson, yahoo-connect-dateoc, sunIdentityServerLibertyPPService, applyNo-oc, organizationalperson, kbaInfoContainer, oathDeviceProfilesContainer, person, newMailoc], userpassword=xxx..., uid=[account_nomal]}
org.forgerock.opendj.ldap.ConstraintViolationException: Object Class Violation: Entry uid=account_nomal,ou=people,dc=DevGuideSample1,dc=example,dc=com violates the Directory Server schema configuration because it contains an unknown objectclass applyNo-oc
    at org.forgerock.opendj.ldap.LdapException.newLdapException(LdapException.java:176)
    at org.forgerock.opendj.ldap.spi.ResultLdapPromiseImpl.setResultOrError(ResultLdapPromiseImpl.java:142)
    at org.forgerock.opendj.grizzly.LDAPClientFilter$ClientResponseHandler.addResult(LDAPClientFilter.java:126)
    at org.forgerock.opendj.io.LDAPReader.readAddResult(LDAPReader.java:173)
    at org.forgerock.opendj.io.LDAPReader.readProtocolOp(LDAPReader.java:571)
    at org.forgerock.opendj.io.LDAPReader.readMessage(LDAPReader.java:132)
    at org.forgerock.opendj.grizzly.LDAPBaseFilter.handleRead(LDAPBaseFilter.java:82)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
    at java.lang.Thread.run(Thread.java:745)

本件はOpenAMのデータストアで設定したユーザのオブジェクトクラス名がOpenDJの設定内に存在しないことで発生している。

OpenAMの設定とOpenDJの設定を見比べて同じように設定したら解決した。

参考サイト

コメントを追加

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHA
この質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。