SpringBoot整合LDAP的流程分析

这篇文章主要介绍了SpringBoot整合LDAP的流程分析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

依赖

  org.springframework.bootspring-boot-starter-data-ldap org.projectlomboklomboktrue org.springframework.bootspring-boot-starter-testtest

配置

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

测试

 @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的流程分析的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java