0

我已经尝试在内存目录服务器中实现未绑定的 id,以模拟 LDAP 目录以进行测试。该代码可以作为一个带有 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");

请让我知道是否可以使用 ldif 文件在 android 应用程序中模拟目录服务器,或者它只是无法在 android 应用程序中使用此代码。

4

1 回答 1

0

我从未尝试过,但我不知道内存目录服务器无法在 Android 上运行的任何原因。

我的猜测是您正在尝试在您的应用程序中使用 LDAP SDK 的最小版本。Minimal Edition 有一组精简的类,允许您进行大量 LDAP 通信,但没有很多可选的东西,如内存目录服务器。如果您切换到标准版,那么您应该会有更好的运气。

如果这不是问题,那么我不确定原因是什么(除非 LDAP SDK jar 文件不在您的类路径中,但我认为情况并非如此,因为看起来您有一个较早的LDAPConnection 变量定义)。很高兴看到您尝试诊断问题的确切错误消息。

于 2014-11-27T17:47:32.170 回答