List<String> search = ldapTemplate.search(query().where("objectclass").is("inetOrgPerson") , (AttributesMapper<String>) arrts -> (String) arrts.get("cn").get());解释下这段代码
时间: 2023-05-26 09:05:51 浏览: 131
这段代码使用 Spring LDAP 的 LdapTemplate 对 LDAP 目录进行搜索操作,搜索条件是 objectclass 为 inetOrgPerson。搜索结果是经过 AttributesMapper 处理后转换成 String 类型的 cn 属性值的列表。
具体解释如下:
- LdapTemplate 是 Spring LDAP 提供的一个工具类,可以用来简化与 LDAP 目录的交互。
- search 方法是 LdapTemplate 中的一个搜索方法,用于搜索满足指定查询条件的条目。
- query() 方法是 LdapQueryBuilder 的静态方法,可以创建一个查询对象,用于设置查询条件。
- where("objectclass").is("inetOrgPerson") 是查询对象的一个条件设置方法,指定查询条件为 objectclass 等于 inetOrgPerson。
- AttributesMapper 是一个接口,用于将搜索结果中的 Attributes 对象转换成其他类型的对象。这里使用了一个简单的 lambda 表达式,将 Attributes 对象的 cn 属性值转换成了 String 类型。
- (String) arrts.get("cn").get() 是 lambda 表达式的具体实现。先通过 get("cn") 获取 Attributes 对象中的 cn 属性值,然后使用 get() 方法将其转换为 String 类型。
- 最终搜索结果是一个 String 类型的 cn 属性值的列表(List<String>)。
相关推荐
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)