检查用户是否属于ldap中的组

时间:2011-10-14 07:54:40

标签: ldap

我是LDAP新手并且有疑问。我想检查特定用户是否属于某个特定群组。我想出了如何查询ldap服务器。所以它现在能够检查服务器上是否存在用户。但我无法弄清楚如何用正确的组检查用户(下面的行是我用过的)

l_retval := DBMS_LDAP.search_s(l_session,l_ldap_base, DBMS_LDAP.scope_subtree, 'objectclass=*', l_attrs, 0, l_message);

我的主要目的是授权特定群组的用户(不经过身份验证)

我有两个基地 - 一个用于授权(uid=anders,ou=ourusers,o=company),另一个用于群组(cn=programmers,ou=groups,o=company)

有谁可以指导我,以便如何继续!

3 个答案:

答案 0 :(得分:1)

使用此过滤器,并使搜索DN成为您要检查的组的DN。

(&(objectClass=*)(member=[userDN]))

[userDN]是要搜索类似cn=bob,ou=bar,o=foo的用户的完整DN。如果它不是完整的DN,它将无法工作。如果您只有一个用户名,请先获取该用户的DN,然后使用此过滤器。

答案 1 :(得分:0)

使用memberOfisMemberOf来确定条目是否是组的成员。另请参阅this问题。

答案 2 :(得分:0)


我也是活动目录中的新手,但我觉得跳过一代,并直接使用 System.DirectoryServices.AccountManagement 是可行的方法。
我读过的一篇文章是: http://msdn.microsoft.com/en-us/magazine/cc135979.aspx
我稍后会尝试回到你的问题 在.Net框架的第4版中似乎也存在一个错误:如果您正在查看的组中有一个组,它将会出错。也许是版本4.5中的更正。