我尝试在内存目录服务器中实现未绑定的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应用中使用此代码。
答案 0 :(得分:0)
我从未尝试过,但我不知道内存中的目录服务器无法在Android上运行。
我的猜测是您尝试在应用中使用最小版本的LDAP SDK。 Minimal Edition有一个简化的类集,允许您进行大量的LDAP通信,但没有很多可选的东西,如内存目录服务器。如果你切换到标准版,那么你应该有更好的运气。
如果那不是问题,那么我不确定原因是什么(除非是因为LDAP SDK jar文件不在你的类路径中,但我不认为是这样的,因为它看起来像你有一个早期的LDAPConnection变量定义)。很高兴看到你试图诊断问题的确切错误信息。