我正在尝试使用 unbounded-ldap-sdk 在 LDAP 服务器中创建一个安全组,但每当我尝试使用以下过滤器查询该组时,它都不会返回该组。
筛选:
(&(groupType:1.2.840.113556.1.4.803:=2147483648)(cn=test_group*))
小组是:
dn: CN=bpa,DC=developer,DC=tester,DC=example,DC=com
objectClass: group
groupType: -2147483646
instanceType: 4
objectClass: top
objectCategory: Group
cn: test_group
distinguishedName: CN=bpa,DC=developer,DC=tester,DC=example,DC=com
description: test group for testing
name: test_group
查询服务器的代码:
javax.naming.directory.SearchControls searchControls = new javax.naming.directory.SearchControls();
searchControls.setReturningAttributes({'name', 'cn'});
searchControls.setSearchScope(javax.naming.directory.SearchControls.SUBTREE_SCOPE);
DirContext.search("DC=developer,DC=tester,DC=example,DC=com", filter, searchControls);
您能帮我找出问题所在吗?
嗯,这很复杂。 Microsoft Active Directory 通过多种不同的方法对组进行分类。
GroupType 是位掩码属性。
您条目中的组类型是 groupType: -2147483646,这是一个全局安全组。
我发现您的 LDAP 过滤器或组没有任何问题。但是,如果您正在查询全局目录,则不会显示组搜索的基本DN。您可能会遇到返回 LDAP 引用的问题。