java - LdapTemplate:无法找到特定组,除非 baseDN 与组所在的 OU 相同
问题描述
我已经构建了一个活动目录 api。在一台机器上它工作正常,但在另一台机器上(不同的森林,不同的网络)spring ldapTemplate 找不到特定的组。找到所有其他组。我比较了可以找到的组和不能找到的组。我看不出有什么不同。
出于某种原因,如果我将 ldap 搜索的基础设置为组所在的组织单位,则会显示特定组。此外,如果我在终端上使用 ldifde 搜索广告域,则丢失的组会与其他组一起显示。
我使用的代码非常基本。正如我之前所说,它根本不适用于那台机器。这是我设置 ldap 属性的方法:
ldapContextSource().setUrl(domain.getAddress() + ":" + domain.getPort());
ldapContextSource().setBase(domain.getBase());
ldapContextSource().setUserDn(domain.getUserDn());
ldapContextSource().setPassword(domain.getDecryptedPassword());
ldapContextSource().afterPropertiesSet();
[...]
@Bean
public LdapTemplate ldapTemplate() {
return new LdapTemplate(ldapContextSource());
}
我使用搜索组
ldapTemplate.findAll(LdapGroup.class);
这就是 LdapGroup.class 的样子:
@Entry(objectClasses = {"top", "group"})
public class LdapGroup {
@JsonIgnore
@Id
private Name dn;
[...]
解决方案
推荐阅读
- compiler-errors - SOLIDITY REMIX 编译器,在部署我的合约后收到此错误(无效的 BigNumber 字符串)
- spring-cloud-gateway - Spring Cloud 网关 + spring rest doc + spring Cloud 合约
- shell - 在 shell 脚本中,字符串周围的两个 at (@) 符号是什么意思?
- node.js - Selenium Node.js 中的实验性 Chrome 选项
- django - 在 Nginx / Gunicorn / Django 中设置缓存控制
- javascript - DomContentLoaded 无法访问超过 1 个 javascript 函数,扩展的弹出 html 未在 js 文件中加载 javascript 函数
- html - 什么 CSS 代码为该页面上徽章计数旁边的项目符号赋予颜色?
- python - 处理面部识别项目(使用 face_recognition)但是当我运行程序以获取面部编码时,它显示列表索引超出范围
- arrays - 为什么一个数组名的地址和他指向的地址是一样的?
- c++ - 为什么使用构造函数写入数组会导致缓冲区溢出,而类似的类函数却不会?