我在这里遇到了一个有关 OpenLDAP 的小问题。问题是搜索嵌套组的成员。假设我有这个构造:
- dn=域,dn=本地
- ou=人
- cn=marvyn (inetOrgPerson)
- ou=部门
- cn=管理(groupOfNames)
- ou=应用程序
- cn=jira (组名称)
- ou=人
marvyn 是管理部门的成员。管理部门是 jira 的成员。我想通过 jira 进行身份验证,并检查 marvyn 是否在其中,但 marvyn 在管理部门,而管理部门是 jira 的成员。我需要如何搜索或构建搜索字符串来查明 marvyn 是否是 jira 的成员。
感谢你们,
答案1
我使用“别名”对象将组合并到 OU 中解决了这个问题。
这是 openldap 的操作方法: http://www.openldap.org/faq/data/cache/1111.html
(请注意,您可以将对象类型从 cn 更改为 ou,以转发到整个 ou。)
- dc=域
- ou=应用程序
- ou=jira
- cn=jira-特定组
- ou(ALIAS)=所有组来自-ou=组,dc=域
- cn=系统管理员(实际上不在那里;位于ou=组,dc=域)
- cn=发展(实际上不在那里;位于ou=组,dc=域)
- ou=jira
- ou=组
- cn=系统管理员
- cn=发展
- ou=应用程序
答案2
您无法使用单个搜索字符串来实现这一点。您必须编写一些代码。