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 "";
    }

执行结果:


相关文章
|
9天前
|
SQL 前端开发 关系型数据库
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
SpringBoot使用mysql查询昨天、今天、过去一周、过去半年、过去一年数据
39 9
|
4月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本节课主要讲解了 Spring Boot 中如何在业务代码中读取相关配置,包括单一配置和多个配置项,在微服务中,这种情况非常常见,往往会有很多其他微服务需要调用,所以封装一个配置类来接收这些配置是个很好的处理方式。除此之外,例如数据库相关的连接参数等等,也可以放到一个配置类中,其他遇到类似的场景,都可以这么处理。最后介绍了开发环境和生产环境配置的快速切换方式,省去了项目部署时,诸多配置信息的修改。
|
26天前
|
druid Java Maven
|
1月前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
307 0
|
1月前
|
自然语言处理 搜索推荐 Java
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图(一)
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图
49 0
|
1月前
|
存储 自然语言处理 搜索推荐
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图(二)
SpringBoot 搜索引擎 海量数据 Elasticsearch-7 es上手指南 毫秒级查询 包括 版本选型、操作内容、结果截图(二)
34 0
|
3月前
|
缓存 Java 数据库连接
Spring Boot 资源文件属性配置,紧跟技术热点,为你的应用注入灵动活力!
【8月更文挑战第29天】在Spring Boot开发中,资源文件属性配置至关重要,它让开发者能灵活定制应用行为而不改动代码,极大提升了可维护性和扩展性。Spring Boot支持多种配置文件类型,如`application.properties`和`application.yml`,分别位于项目的resources目录下。`.properties`文件采用键值对形式,而`yml`文件则具有更清晰的层次结构,适合复杂配置。此外,Spring Boot还支持占位符引用和其他外部来源的属性值,便于不同环境下覆盖默认配置。通过合理配置,应用能快速适应各种环境与需求变化。
43 0
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的武汉市公交路线查询系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的武汉市公交路线查询系统的详细设计和实现(源码+lw+部署文档+讲解等)
112 7
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的城市公交在线查询系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的城市公交在线查询系统的详细设计和实现(源码+lw+部署文档+讲解等)
|
4月前
|
Java 关系型数据库 API
使用Spring Boot和PostgreSQL构建高级查询
使用Spring Boot和PostgreSQL构建高级查询