use*_*465 4 active-directory active-directory-group activedirectorymembership
我有一个带有嵌套组的活动目录(AD)测试实例:Employees(Parent)有两个子组:Executives和Engineers.
Tree:
Employees
|
-Executives
| |
| -Mister Executive
|
-Engineers
|
-Joe Engineer
Run Code Online (Sandbox Code Playgroud)
我看到AD扩展名LDAP_MATCHING_RULE_IN_CHAIN将搜索子树; 我可以搜索具有此查询的所有员工:
query:
( & (objectClass=person) (memberOf:1.2.840.113556.1.4.1941:=CN=Employees,CN=Users,DC=cloud,DC=com))
Run Code Online (Sandbox Code Playgroud)
问题:递归搜索,但没有递归结果
但是,我找不到获取"子树搜索结果"的方法,即当查询将"Mister Executive"作为"Employee"返回时,"memberOf"属性仅列出"Executives",即他直接所属的组.我检查了所有其他属性,但没有看到任何"员工"
概括
因此,为了最终澄清:AD是否允许以任何方式检索"subtree memberOf"结果以及"子树"LDAP_MATCHING_RULE_IN_CHAIN("memberOf:1.2.840.113556.1.4.1941:=")搜索
提前致谢,
我认为你在组和节点之间感到困惑.
目录树
目录是树,其中每个对象都是一个节点.Active-Directory有点特殊,因为只有少数对象organizationalUnits(如OU),Domains或者Containers可以是包含用户对象的节点.
所以目录搜索包括:
目录中的每个对象都包含具有名称和语法的属性.对于像某些属性member,memberOf,manager,managedBy,微软提供了一个称为特殊的语法uniqueName.此语法用于可分辨名称,但该目录为这些属性提供了一种关系完整性.这意味着,例如,如果在目录中移动对象,则此属性中的DN将保留其值.如果移动用户,member则会自动调整其所属的组中的属性.
现在LDAP_MATCHING_RULE_IN_CHAIN.
当用户X是组A的成员时.用户X DN在A组的成员属性中,A组DN在用户X的memberOf属性中.如果组A是组B的成员,则用户X属于对于组B,但B组DN不在用户X的memberOf属性中.在这里,您可以LDAP_MATCHING_RULE_IN_CHAIN用来查找属于组的递归.这是一个特殊的扩展匹配运算符,它将对象中的祖先链一直遍历到根,直到找到匹配为止.
这种查询的Microsoft示例旨在检查用户"user1"是否是组"group1"的成员.您可以将基数设置为用户DN(cn = user1,cn = users,dc = x),并将范围设置为base,并使用以下查询.
(memberOf:1.2.840.113556.1.4.1941:=cn=Group1,OU=groupsOU,DC=x)
Run Code Online (Sandbox Code Playgroud)
同样,要查找"user1"所属的所有组,请将base设置为groups容器DN; 例如(OU = groupsOU,dc = x)和子树的范围,并使用以下过滤器.
(member:1.2.840.113556.1.4.1941:=cn=user1,cn=users,DC=x)
Run Code Online (Sandbox Code Playgroud)
因此LDAP_MATCHING_RULE_IN_CHAIN与目录树节点无关.
| 归档时间: |
|
| 查看次数: |
10600 次 |
| 最近记录: |