springboot操作LDAP,查询指定ou下面的cn属性

简介: springboot操作LDAP,查询指定ou下面的cn属性

场景:

有多个ou,但是他们都有一个cn=admin,这个时候我只想查询其中一个ou下面的cn,而不是所有。如图所示:

话不多说,直接上代码

开发之前,需要把LDAP与spring整合的相关配置弄好,不清楚的可以参考我的上一篇文章

https://blog.csdn.net/weixin_43860634/article/details/123236043

下面上测试类

@Autowired
    private DirContext dirContext;
    @Test
    public void getMemberUid() {
       System.out.println("第一次调用:pwd = " + searchByAttribute());
    }
    private String searchByAttribute() {
        try {
            SearchControls controls = new SearchControls();
            controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
            //这个表示要查询的字段
            controls.setReturningAttributes(new String[]{"memberUid"});
            //查询指定的ou下面的cn属性  memberUid
            NamingEnumeration results = dirContext.search("ou=company", "cn=admin", controls);
            while (results.hasMore()) {
                SearchResult searchResult = (SearchResult) results.next();
                Attribute attrMemberUid = searchResult.getAttributes().get("memberUid");
                if (Objects.nonNull(attrMemberUid)) {
                    return attrMemberUid.get().toString();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

执行结果:


相关文章
|
4月前
|
NoSQL Java Redis
SpringBoot 配置Redis操作
SpringBoot 配置Redis操作
50 0
|
5天前
|
SQL Java 数据库连接
Springboot框架整合Spring JDBC操作数据
JDBC是Java数据库连接API,用于执行SQL并访问多种关系数据库。它包括一系列Java类和接口,用于建立数据库连接、创建数据库操作对象、定义SQL语句、执行操作并处理结果集。直接使用JDBC涉及七个步骤,包括加载驱动、建立连接、创建对象、定义SQL、执行操作、处理结果和关闭资源。Spring Boot的`spring-boot-starter-jdbc`简化了这些步骤,提供了一个在Spring生态中更便捷使用JDBC的封装。集成Spring JDBC需要添加相关依赖,配置数据库连接信息,并通过JdbcTemplate进行数据库操作,如插入、更新、删除和查询。
|
5天前
|
SQL Java 数据库连接
Springboot框架整合Spring Data JPA操作数据
Spring Data JPA是Spring基于ORM和JPA规范封装的框架,简化了数据库操作,提供增删改查等接口,并可通过方法名自动生成查询。集成到Spring Boot需添加相关依赖并配置数据库连接和JPA设置。基础用法包括定义实体类和Repository接口,通过Repository接口可直接进行数据操作。此外,JPA支持关键字查询,如通过`findByAuthor`自动转换为SQL的`WHERE author=?`查询。
|
5天前
|
XML Java 数据库连接
Springboot整合mybatisPlus操作数据库
MyBatis-Plus是MyBatis的增强工具,简化开发、提高效率。它提供官网文档,便于集成到SpringBoot项目中。集成步骤包括添加mybatis-plus-boot-starter和数据库驱动依赖,配置数据源,扫描Mapper类包。Mapper接口继承BaseMapper即可使用基本的CRUD操作。示例代码展示了Service层的增删改查实现。MyBatisPlus还支持逻辑删除、自动填充等功能,同时可与Mybatis XML配合使用,通过调整配置指定XML映射文件位置。
|
10天前
|
安全 Java API
SpringBoot 实现 elasticsearch 索引操作(RestHighLevelClient 的应用)
SpringBoot 实现 elasticsearch 索引操作(RestHighLevelClient 的应用)
14 1
|
10天前
|
自然语言处理 Java 索引
SpringBoot 实现 elasticsearch 查询操作(RestHighLevelClient 的案例实战)
SpringBoot 实现 elasticsearch 查询操作(RestHighLevelClient 的案例实战)
14 1
|
23天前
|
JSON Java 数据库连接
属性注入掌握:Spring Boot配置属性的高级技巧与最佳实践
属性注入掌握:Spring Boot配置属性的高级技巧与最佳实践
28 1
|
27天前
|
存储 关系型数据库 MySQL
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
|
1月前
|
NoSQL Java Redis
SpringBoot中操作RedisTemplate获取redis中以某些字符串为前缀的KEY列表
SpringBoot中操作RedisTemplate获取redis中以某些字符串为前缀的KEY列表
31 0
|
2月前
|
Java
SpringBoot操作excel文件【工具类】
SpringBoot操作excel文件【工具类】
19 0