我是 LDAP 新手,我尝试过在 OpenLDAP 上实现 RBAC。我创建了一些用户 (inetOrganizationPerson) 并将它们放入组 (groupOfNames)。接下来,我创建了一些角色 (organizationalRole) 并将它们与用户组关联 (roleOccupant),而不是直接将它们与用户关联。
我正在尝试编写一个查询,该查询可以为我提供给定用户的角色。它应该确定用户属于哪个组或哪些组以及分配给这些组的角色是什么。
我想我可以通过两个单独的查询来完成:
1)/usr/local/bin/ldapsearch -x -b 'ou=Groups,dc=example,dc=com' -s sub -LLL "(&(objectclass=groupOfNames)(member=uid=anurag, ou=People,dc=example,dc=com))"cn
2)/usr/local/bin/ldapsearch -x -b 'ou=角色,dc=示例,dc=com' -s sub -LLL "(&(objectclass=organizationalRole)(roleOccupant=cn=管理员, ou=组,dc=示例,dc=com))"cn
在第一个查询中,成员“anurag”是参数,它生成“Administrators”作为用户“anurag”所属的组。 第二个查询将“管理员”(来自第一个查询)作为参数,并生成“管理员”作为角色。
但是我正在寻找,如何通过单个查询来实现这一目标,前提是它更有效?更重要的是,它通常是如何完成的?
最佳答案
在 LDAP 中,您要查找的内容是使用 Deref 控件完成的。
https://datatracker.ietf.org/doc/html/draft-masarati-ldap-deref-00
关于ldap - 查询LDAP以获取用户的角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42944483/