0

うまく機能しているのにこのコードが機能しない理由を誰かが見ることができますldapwhoami -U portal -h yorktown -Y PLAIN -ZZか?私がやっているのと同等ではないことはありますか?

LDAPConnection connection = new LDAPConnection();
connection.connect("yorktown.example.com", 389);
SSLUtil sslUtil = new SSLUtil(new TrustAllTrustManager());
SSLContext sslContext = sslUtil.createSSLContext();
ExtendedResult extendedResult = connection.processExtendedOperation(new StartTLSExtendedRequest(sslContext));
PLAINBindRequest bindRequest = new PLAINBindRequest("u:portal", "test");
BindResult bindResult = connection.bind(bindRequest);

このコードは、connection.bind呼び出しによってスローされる次の例外を与えます。

play.exceptions.JavaExecutionException:SASL(-13):ユーザーが見つかりません:パスワードの検証に失敗しました
        play.mvc.ActionInvoker.invoke(ActionInvoker.java:285)で
        Invocation.HTTP Request(Play!)で
原因:LDAPException(resultCode = 49(無効な資格情報)、
    errorMessage ='SASL(-13):ユーザーが見つかりません:パスワードの検証に失敗しました'、
    DiagnosticsMessage ='SASL(-13):ユーザーが見つかりません:パスワードの検証に失敗しました')
        com.unboundid.ldap.sdk.LDAPConnection.bind(LDAPConnection.java:1710)で
4

1 に答える 1

0

のドキュメントPLAINBindRequestが間違っているか、OpenLDAP2.4.23がリクエストを処理する方法に問題があります。u:サーバーログは、がサーバーに渡されていることを明らかにし、その結果、のようなDNが生成されましたuid=u:portal,dc=example,dc=com。一度変更するnew PLAINBindRequest("portal", "test")とうまくいきました。

于 2011-03-03T18:19:04.210 に答える