我正在使用 ApacheDS 测试 Spring Boot 应用程序以模拟 LDAP 连接。
它工作正常,但根据我运行它的环境,它在测试执行期间给出了附加错误。该项目被克隆在两台电脑中,一台是本地计算机(并且测试不显示错误),并且在远程桌面上运行的克隆(都是 Windows,但这个有 LDAP 连接来运行真实环境)。
在远程桌面上工作正常,但显示附加错误(我正在更改 ApacheDS IP,但仍然看到错误)。
[pool-4-thread-1] WARN org.apache.directory.server.ldap.LdapProtocolHandler -- 意外异常迫使会话关闭:向客户端发送断开连接通知。 java.lang.NullPointerException:无法调用“org.apache.directory.server.ldap.LdapSession.setLdapServer(org.apache.directory.server.ldap.LdapServer)”,因为“ldapSession”为空 在 org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:129) 在 org.apache.directory.server.ldap.handlers.LdapRequestHandler.handleMessage(LdapRequestHandler.java:56) 在 org.apache.mina.handler.demux.DemushingIoHandler.messageReceived(DemushingIoHandler.java:232) 在org.apache.directory.server.ldap.LdapProtocolHandler.messageReceived(LdapProtocolHandler.java:194)
这是我测试的配置
ldap.url=ldap://localhost:18888
ldap.port=18888
ldap.ldiffile=classpath:/test.ldif
ldap.partitionSuffix=OU=COFFEEIEC,OU=IntermediaDA,DC=test,DC=com
ldap.principal=uid=admin,ou=system
ldap.password=secret
以及我正在使用的依赖项
<dependency> <groupId>org.apache.directory.server</groupId> <artifactId>apacheds-server-jndi</artifactId> <version>1.5.5</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.directory.server</groupId> <artifactId>apacheds-protocol-ldap</artifactId> <version>1.5.5</version> <scope>test</scope> </dependency>
它消除了添加此依赖项时出现的错误
<dependency>
<groupId>com.unboundid</groupId>
<artifactId>unboundid-ldapsdk</artifactId>
<scope>test</scope>
</dependency>