LDAP的新功能。 LDAP的排列方式是人员和组。人们拥有用户信息,例如姓名,uid和邮件。这些组具有组名和多个成员字段,其值类似于cn = First Last,cn = people,dc = comic,dc = com,列出了属于该组成员的人员。
当前以用户名和密码开头,进行两次搜索: 1)通过在uid = value上的People基础域上搜索来获取用户。然后从用户那里获得名字和姓氏。 2)根据member = cn = First Last,cn = People,dc = comic,dc = com搜索Groups基本域,然后遍历返回到组名字段的组对象列表。
我只是想知道是否可以通过一次搜索完成所有这些操作,还是必须进行两次搜索?
答案 0 :(得分:0)
不幸的是,您无法一次完成想要做的事情。
此外,您正在做的事情并不总是有效。与其检索用户的姓氏和名字,不如检索他们的专有名称(dn属性),然后根据该名称进行组搜索。姓氏和名字可以在LDAP中修改,并且可能由于结婚/离婚/其他原因而发生。
答案 1 :(得分:0)
只要您实现了Reverse Group Membership Maintenance Overlay,就有可能。
要确定某个条目所属的组而无需执行额外的搜索, memberOf 覆盖正是您需要的。
memberof叠加层会更新属性(默认情况下,memberOf) 每当成员资格属性发生更改时(默认情况下为member) 配置为的对象类(默认为groupOfNames)条目数 触发更新。因此,它可以维护组列表 条目是其中的成员,通常由 修改组条目上的成员。
您可能会发现此Server Fault post对于操作方法很有用。
一旦您准备好使用memberOf
属性,就可能必须在每个组条目上手动运行ldapmodify
,但只能运行一次,以便可以配置所有member
的条目在其各自的memberOf属性中具有对应的组dn。
最后,要对给定用户执行组成员资格搜索,您只需搜索用户条目并迭代memberOf
属性即可获得组dn。