在LDAP中检索组成员身份

时间:2015-07-24 09:29:32

标签: ldap

我正在使用可在线获取的示例LDAP here

我想根据他们的uid检索用户的组成员身份。在示例中,高斯(uid=gauss)是数学家组(ou=mathematicians,dc=example,dc=com)的成员。

我尝试了几个LDAP查询但似乎找不到给ou=mathematicians uid的{​​{1}}的查询。

在SO上有很多类似的答案,但似乎都不适合这个非常简单的用例。

谢谢, 大卫。

2 个答案:

答案 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