我是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)
有谁可以指导我,以便如何继续!
答案 0 :(得分:1)
使用此过滤器,并使搜索DN成为您要检查的组的DN。
(&(objectClass=*)(member=[userDN]))
[userDN]
是要搜索类似cn=bob,ou=bar,o=foo
的用户的完整DN。如果它不是完整的DN,它将无法工作。如果您只有一个用户名,请先获取该用户的DN,然后使用此过滤器。
答案 1 :(得分:0)
使用memberOf
或isMemberOf
来确定条目是否是组的成员。另请参阅this问题。
答案 2 :(得分:0)
我也是活动目录中的新手,但我觉得跳过一代,并直接使用 System.DirectoryServices.AccountManagement 是可行的方法。
我读过的一篇文章是:
http://msdn.microsoft.com/en-us/magazine/cc135979.aspx
我稍后会尝试回到你的问题
在.Net框架的第4版中似乎也存在一个错误:如果您正在查看的组中有一个组,它将会出错。也许是版本4.5中的更正。