如何处理 LDAP 中的嵌套组

如何处理 LDAP 中的嵌套组

我是 LDAP 的新手,我正在研究是否可以将它用于我的下一个项目,或者最好远离它。该项目将严重依赖嵌套组的概念,我经常需要知道用户在哪个组中(也在哪个超级组中),哪些用户在哪个组中以及一个组中有多少人(包括子组)。我尝试阅读有关 ldap 中的嵌套组,但很难找到关于该主题的好文献。到目前为止,我发现的最好的是:http://middleware.internet2.edu/dir/groups/docs/internet2-mace-dir-groups-best-practices-200210.htm哪种推荐前向引用。

还有其他文档描述嵌套组吗?到目前为止,我不受实现的限制,因此它可以是特定于 openLDAP 的。

我还愿意接受有关嵌套组的所有建议。

谢谢,马库斯

答案1

听起来你可以选择groupOfNames- 该对象包含 LDAP 专有名称的集合,因此它可以毫无问题地容纳用户和其他组。需要注意的是,解开成员资格树(并确保其中没有循环,或优雅地处理循环)是你的软件的责任。

我自己从来没有做过前向引用的事情(我更喜欢上面的“组有这些成员”的方法,而不是“成员在这些组中” - 我的大脑更容易理解),但我的组结构通常是离散的,非嵌套的成员资格,所以我可能会忽略一些优势。

答案2

OpenLDAP 可以在访问控制规则中使用嵌套组,详细说明如下:http://www.openldap.org/faq/data/cache/1133.html

按照此答案中的说明进行设置时,嵌套组也可用于 Linux 登录:来自 ldap 的基于 dn 的 linux 组

其他应用程序是否使用嵌套组取决于它们自己。我知道 Samba 会这样做,但Openfire 没有。我还创建了一组 PHP 类,以允许我们的内部网应用程序使用嵌套组。这并不完全是难的,只是花了一点时间。

相关内容