我正在使用可在线获取的示例LDAP here。
我想根据他们的uid检索用户的组成员身份。在示例中,高斯(uid=gauss
)是数学家组(ou=mathematicians,dc=example,dc=com
)的成员。
我尝试了几个LDAP查询但似乎找不到给ou=mathematicians
uid
的{{1}}的查询。
在SO上有很多类似的答案,但似乎都不适合这个非常简单的用例。
谢谢, 大卫。
答案 0 :(得分:1)
您只能使用uid
来检索群组成员资格,因为使用uniqueMember
- 属性需要一个完整的DN作为值来存储群组成员。因此,您必须使用uniqueMember=uid=gauss,dc=example,dc=com
之类的搜索过滤器。
您可能会认为这很棒,所以我只需将uid=gauss
添加到baseDN,我就完成了#34;。您可能并不总是幸运,因为没有定义用户必须位于baseDN中。它们可能会分布在完整的LDAP树中,然后就会变得艰难。但是当你已经搜索过用户(用于绑定的IE)时,你得到了DN"免费"所以你可以使用它。
希望有所帮助!
答案 1 :(得分:0)
不确定我是否做对了你想要做的事情,但检索群组成员资格是通过类似于此的过滤器完成的:
(&(objectClass=group)(member:1.2.840.113556.1.4.1941:=<<<USER-DN>>>))
我总是通过单独的搜索来拉动用户dn:
(&(objectCategory=person)(objectClass=user)(samaccountname=<<<USER LOGON NAME>>>))
我不知道uid,dn和samaccountname是否可用于每个可互换的过滤器,但请尝试使用uid =&lt;&lt;&gt;&gt;代替。
有关详细信息,请参阅此文章:https://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx