依赖
<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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
免责声明:本站发布的内容(图片、视频和文字)以原创、来自互联网转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:ts@56dr.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
Copyright © 2009-2021 56dr.com. All Rights Reserved. 特网科技 版权所有 珠海市特网科技有限公司 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 中国互联网举报中心 增值电信业务经营许可证B2