SpringBoot整合LDAP的流程分析
作者:秋风飒飒吹
这篇文章主要介绍了SpringBoot整合LDAP的流程分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-ldap</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
配置
application.yml
spring:
ldap:
urls: ldap://192.168.1.53:389
username: cn=Manager,${spring.ldap.base}
password: hadoop
base: dc=haohaozhu,dc=com
实体类和Dao
/**
* @author wen.jie
* @date 2021/5/8 12:31
*/
@Data@ToString
@Entry(base = "ou=people,dc=haohaozhu,dc=com", objectClasses = "inetOrgPerson")
public class Person {
@Id
private Name id;
@DnAttribute(value = "uid")
private String uid;
@Attribute(name = "cn")
private String cn;
@Attribute(name = "sn")
private String sn;
@Attribute(name="mail")
private String mail;
@Attribute(name = "homedirectory")
private String homedirectory;
@Attribute(name = "gidnumber")
private String gidnumber;
@Attribute(name = "uidnumber")
private String uidnumber;
}
public interface PersonRepository extends LdapRepository<Person> {
}
测试
@SpringBootTest
class BootLdapApplicationTests {
@Autowired
private PersonRepository personRepository;
@Autowired
private LdapTemplate template;
@Test
public void findAll() {
personRepository.findAll().forEach(System.out::println);
}
@Test
public void findAll2() {
Person person = template.findOne(LdapQueryBuilder.query().where("uid").is("ldapuser2"), Person.class);
System.out.println(person);
}
@Test
public void authenticationTest() {
String uid = "ldapuser2";
Person authenticate = template.authenticate(
LdapQueryBuilder.query().where("uid").is(uid),
"hadoop",
(dirContext, ldapEntryIdentification) ->
template.findOne(LdapQueryBuilder.query().where("uid").is(uid), Person.class));
System.out.println(authenticate);
}
}
findAll:

findAll2:

authenticationTest:

到此这篇关于SpringBoot整合LDAP的流程分析的文章就介绍到这了,更多相关SpringBoot整合LDAP内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
