2

我需要有关 LDAP 搜索过滤器的信息来提取嵌套组成员身份。基本上,我的想法是,例如,一个用户属于 5 个组 [A、B、C、D、E] 我可以编写一个 LDAP 搜索查询来获取成员组到哪个组 [A、B、C、 D、E]可能是一部分?我可以递归地使用这个 logc 来检索所有组信息,直到 AD 的完整根目录?

而且我需要此解决方案用于通用 AD,因此我不能使用仅适用于 MS AD 的 LDAP_RULE_IN_CHAIN 过滤器。

4

2 回答 2

4

组不是 LDAP 标准中定义的东西。就 LDAP 而言,组条目只是 LDAP 条目——仅此而已。组支持的实现,包括如何处理、查询、验证数据结构(如嵌套和动态组)等,完全取决于目录软件供应商。例如,IBM 的 Security Directory Server (SDS) 软件通过自己专有的对象类和属性支持嵌套和动态组,这些对象类和属性是软件专门识别的,并通过遍历(对于嵌套组)和扩展(对于动态组)来验证成员资格或为 LDAP 客户端自动获取组结构。例如,SDS 提供了操作属性,例如ibm-allgroupsibm-allmembers帮助 LDAP 客户端在单个搜索中提取嵌套和动态组中的组和成员信息。其他目录供应商以不同的方式解决相同的问题。因此,您的解决方案将根据您使用的 LDAP 软件而有所不同。您可以设计您的应用程序以支持多个目录服务器软件,但这取决于您希望在应用程序中获得多复杂的组支持。

于 2013-05-22T16:15:14.463 回答
1

用户所属的所有组,包括嵌套组

例如,要查找 "CN=John Smith,DC=MyDomain,DC=NET" 所属的所有组,请将 base 设置为组容器 DN;例如 (OU=groupsOU,DC=MyDomain,DC=NET) 和子树的范围,并使用以下过滤器。

(成员:1.2.840.113556.1.4.1941:=(CN=John Smith,DC=MyDomain,DC=NET))

其中 CN=John Smith,DC=MyDomain,DC=NET 是用户的 FDN 和可扩展匹配规则 1.2.840.113556.1.4.1941。

-吉姆

于 2012-12-08T10:45:26.850 回答