我使用 spring security 和嵌入式 ApacheDS 服务器为 LDAP 身份验证编写了一些单元测试。服务器通过 spring 应用程序上下文中的元素配置自动启动。我为测试指定了一个 LDIF 文件。一切都很棒。测试在我们的 Jenkins 实例上运行了一周,直到有一天测试无法正常关闭并删除了 apacheds-spring-security 目录。由于此目录的存在,后续测试运行将崩溃。
这个问题之前在
答案是提供一个指定工作目录位置的命令行参数。如果我能做到这一点,我可以指定我的 maven 构建的目标目录,当它在构建和测试之前进行清理时,maven 会为我解决这个问题。
都好。问题是,如何指定这个工作目录?-DapacheDSWorkDir="foo" 在我运行 Maven 构建时被忽略,并且尝试以编程方式设置此值也不起作用。有人有什么想法吗?如您所见,该配置没有提及任何底层 LDAP 提供程序。
<ldap-server id="ldapServer"
url="ldap://localhost:33389/dc=aws,dc=com"
manager-dn="uid=admin,ou=system"
manager-password="secret"/>
<ldap-server ldif="classpath:/ldap/test-server.ldif"
root="dc=aws,dc=com"/>
<bean:bean id="federatedLdapUserContextSource" class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<bean:constructor-arg value="ldap://localhost:33389/dc=aws,dc=com"/>
</bean:bean>
任何帮助将非常感激。