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> {}

测试

@SpringBootTestclass 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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

为什么?答:点线杆上贴着”“此处不许小便!”

SpringBoot整合LDAP的流程分析

相关文章:

你感兴趣的文章:

标签云: