我得到Spring安全性来使用在我的本地机器上运行的LDAP服务器,然后,我继续完成本教程https://spring.io/guides/gs/authenticating-ldap/(不是一步一步,因为我没有使用Spring启动)
目标是使用"嵌入式"运行Spring安全性。 LDAP服务器,但我无法设置。
总结
本地运行LDAP(让它工作)与嵌入式LDAP(有问题)
要配置AuthenticationManagerBuilder,我做了
auth.ldapAuthentication()
.contextSource()
.root("dc=oreilly,dc=com") // I didn't set url() here, so embedded server can be used
.ldif("classpath:spring-security.ldif")
.managerDn("uid=admin,ou=system")
.managerPassword("secret")
.and()
.userSearchFilter("uid={0}");
在我的pom.xml中,我包含了以下库
<dependency>
<groupId>com.unboundid</groupId>
<artifactId>unboundid-ldapsdk</artifactId>
</dependency> <!-- This is the ldap server-->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-ldap</artifactId>
</dependency>
我不会在这里包含其他代码,因为我让他们使用本地LDAP。
当我跑步时,我收到以下错误:
java.lang.NoClassDefFoundError: 组织/阿帕奇/目录/服务器/核心/分区/隔断
我想我可能会错过包含一些库,但不确定是哪个..
答案 0 :(得分:0)
尝试不同的设置后,这对我有用:
<dependency>
<groupId>org.apache.directory.server</groupId>
<artifactId>apacheds-protocol-ldap</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>org.apache.directory.shared</groupId>
<artifactId>shared-ldap</artifactId>
<version>0.9.15</version>
</dependency>