java LdapTemplate:除非baseDN与组所在的OU相同,否则无法找到特定的组
我已经构建了一个active directory 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的工作方式。课堂看起来像:
@Entry(objectClasses = {"top", "group"})
public class LdapGroup {
@JsonIgnore
@Id
private Name dn;
[...]
共 (0) 个答案