0

テスト目的でLDAPディレクトリをシミュレートするために、メモリディレクトリサーバーにバインドされていないIDを実装しようとしました。このコードは、サンプル ディレクトリ データとして LDIF ファイルを使用する Java アプリケーションとして正常に動作します。しかし、Androidアプリケーションコードでそれを使用すると、アプリケーションは「クラスInMemoryDirectoryServerConfigを見つけたりロードしたりできません」と言って中止します。以下は、メモリ内 LDAP サーバーに接続するために使用する主要なコード スニペットです。

        InMemoryDirectoryServerConfig config = new InMemoryDirectoryServerConfig("dc=example,dc=com");

        directoryServer = new InMemoryDirectoryServer(config);
        directoryServer.importFromLDIF(true, getClass().getResource("example6.ldif").getPath());
        directoryServer.startListening();

        ldapConnection = directoryServer.getConnection();


       SearchRequest searchRequest=new SearchRequest(techMbaseDn, SearchScope.SUB,Filter.createEqualityFilter("uid", name),"givenName","uid");

Androidアプリでldifファイルを使用してディレクトリサーバーをシミュレートできるかどうか、またはAndroidアプリでこのコードを使用できないかどうかを教えてください。

4

1 に答える 1

0

試したことはありませんが、メモリ内ディレクトリ サーバーが Android で動作しない理由はわかりません。

アプリで LDAP SDK の最小版を使用しようとしていると思います。Minimal Edition には、多くの LDAP 通信を可能にする簡素化された一連のクラスがありますが、インメモリ ディレクトリ サーバーのような多くのオプションはありません。Standard Edition に切り替えると、運が良くなるはずです。

それが問題ではない場合、原因が何であるかはわかりません(LDAP SDK jarファイルがクラスパスにない場合を除きますが、以前のように見えるのでそうではないと思いますLDAPConnection 変数が定義されています)。問題を診断するために、表示されている正確なエラー メッセージを確認することをお勧めします。

于 2014-11-27T17:47:32.170 に答える