我正在将我的应用程序升级到Java11(open JDK11),在我的测试用例中,我使用的是spring-ldap-test 2.3.3版本和apacheds-core-api:1.5.7,
我使用下面的方法启动embeddedLdapServer
@Configuration
@Profile("test")
public class EmbeddedLdapTestConfiguration {
@Autowired
Environment env;
@Autowired
private LdapContextSource contextSource;
@Value("${embedded-ldap.port}")
int port;
@Bean
EmbeddedLdapServerFactoryBean embeddedLdapServer() {
EmbeddedLdapServerFactoryBean embeddedLdapServerFactoryBean = new EmbeddedLdapServerFactoryBean();
embeddedLdapServerFactoryBean.setPartitionName("example");
embeddedLdapServerFactoryBean.setPartitionSuffix("dc=example,dc=com");
embeddedLdapServerFactoryBean.setPort(port);
return embeddedLdapServerFactoryBean;
}
@Bean
public LdifPopulator ldifPopulator () {
LdifPopulator ldifPopulator = new LdifPopulator();
ldifPopulator.setContextSource(contextSource);
ldifPopulator.setResource(
new ClassPathResource("./test.ldif"));
ldifPopulator.setBase("dc=example,dc=com");
ldifPopulator.setClean(true);
ldifPopulator.setDefaultBase("dc=example,dc=com");
return ldifPopulator;
}
}
我的测试用例运行失败,因为在spring-ldap-test 2.3.3版本中启动嵌入式ldap时
public class EmbeddedLdapServerFactoryBean extends AbstractFactoryBean<EmbeddedLdapServer> {
private int port;
private String partitionName;
private String partitionSuffix;
@Override
public Class<?> getObjectType() {
return EmbeddedLdapServer.class;
}
public void setPartitionName(String partitionName) {
this.partitionName = partitionName;
}
public void setPartitionSuffix(String partitionSuffix) {
this.partitionSuffix = partitionSuffix;
}
public void setPort(int port) {
this.port = port;
}
@Override
protected EmbeddedLdapServer createInstance() throws Exception {
return EmbeddedLdapServer.newEmbeddedServer(partitionName, partitionSuffix, port);
}
@Override
protected void destroyInstance(EmbeddedLdapServer instance) throws Exception {
instance.shutdown();
}
}
在createInstance()中,EmbeddedLdapServer.NewEmbeddedServer最终将调用apacheds-core 1.5.7中DefaultSchemaService.java中的函数,如下所示
public final SchemaManager getSchemaManager()
{
return schemaPartition.getSchemaManager();
}
和错误,如下所示
在我的年级,我使用以下库
"org.springframework.ldap:spring-ldap-test:2.3.3.REALEASE",
"org.springframework.boot:spring-boot-starter-test:2.3.3.REALEASE",
"org.apache.directory.server:apacheds-core:1.5.7",
"org.apache.directory.server:apacheds-core-entry:1.5.7",
"org.apache.directory.server:apacheds-protocol-shared:1.5.7",
"org.apache.directory.server:apacheds-protocol-ldap:1.5.7",
"org.apache.directory.server:apacheds-server-jndi:1.5.7",
"org.apache.directory.shared:shared-ldap:0.9.19"
当我使用openjdk8和spring-ldap-test 2.3.2版本以及apacheds-core-api:1.5.5时,测试用例运行得很成功,但是如果我升级到JDK11,apacheds-core-api1.5.5将抛出错误消息,因为它使用了java 11不支持的sun.reflect.*包。所以我要把版本升级到1.5.7出现这个问题。
有人能帮忙检查一下如何解决这个问题吗?多谢.
Spring Security https://github.com/spring-projects/spring-security/issues/6804中存在问题
您能试试https://github.com/spring-projects/spring-security/issues/6804#issuecomment-572568328吗?
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-core-avl</artifactId>
<version>1.5.7</version>
<scope>test</scope>
</dependency>
在Spring,嵌入式ldap如何与sping-ldap模板一起使用。目前,我的配置是- ContextSource值在属性文件中可用。现在我想使用嵌入式ldap- 我将在LdapContextSource值中指定的默认端口是什么。
长时间的听众,第一次打电话的人。 我已经下载了Spring身份验证ldap示例:https://spring.io/guides/gs/authenticating-ldap/STS。它工作正常。 然而,我想尝试让它与一个真正的ldap数据库一起工作,比如forumsys.com的一些人提供的:http://www.forumsys.com/en/tutorials/integration-how
ldap-test-tool 一个轻量级的 ldap 测试工具 支持: ldap 认证 ldap 查询(默认基于用户) 自定义 filter 的 ldap 查询 多用户的批量 ldap 认证 多用户的批量 ldap 查询 支持批量查询结果输出到 csv REST API 编译 go get ./...go build release 可以直接下载编译好的 release 版本 提供 win64 和
运行Spring Boot应用程序时,嵌入式tomcat服务器无法启动。我刚刚在pom.xml中添加了所需的依赖项,并创建了一个简单的java POJO类。应用程序属性已经按照oracle数据库所需的jdbc配置以及Hibernate方言信息进行了设置。 执行mvn spring-boot:run时的控制台日志
Spring应用程序使用Maven只包含Spring Web依赖项,给出“无法启动嵌入式Tomcat服务”的错误。 相同的项目在其他计算机上运行,就像预期的那样。 null
我有一个外部Web服务器,我正在迁移。我试图通过LDAP对内部服务器上的Active Directory进行身份验证。我可以使用相同的代码从旧服务器(Ubuntu 8)进行连接和身份验证,但无法在新服务器(Redhat 7)上进行身份验证。 外部服务器当前运行的是运行PHP 5.4.16并启用LDAP支持(PHP LDAP)的Redhat 7。 内部服务器目前是一个带有LDAP和Active Di