ldap嵌套组成员身份过滤器

时间:2012-09-24 09:31:12

标签: active-directory ldap

我尝试使用LDAP匹配规则,但我无法使用LDAP匹配规则过滤器检索搜索条目。

这是我发送过滤器的方式: 过滤(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=)(cn=gasaxena))

我将过滤器转储到ldap服务器上收到的pcap中,这就是它的样子: 过滤器:(&(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=[NULL]))(cn=gasaxena))

有人可以指出,如果我错过了什么吗?服务器是AD

4 个答案:

答案 0 :(得分:3)

要了解Active-Directory过滤器,只需查看Search Filter Syntax即可。

查找“user1”所属的所有组:

在搜索中,将基数设置为groups容器DN;例如根DN(dc = dom,dc = fr)

将范围设置为子树

使用以下过滤器:(member:1.2.840.113556.1.4.1941:=cn=user1,cn=users,DC=x)

使用LDIFDE.EXE的

示例(Windows上的本机命令行AD搜索):

ldifde -f t.txt -d "DC=dom,DC=fr" -r "(member:1.2.840.113556.1.4.1941:=CN=jblanc,OU=MonOu,DC=dom,DC=fr)"

这将查找jpblanc所有组成员。

答案 1 :(得分:3)

您应该对类似于以下的组执行搜索:

(member:1.2.840.113556.1.4.1941:=CN=John Smith,DC=MyDomain,DC=NET)

不是用户的memberOf。

-Jim

答案 2 :(得分:0)

此组件不正确:(&(objectclass=*)(memberof:1.2.840.113556.1.4.1941:=)(cn=gasaxena))

也许你的意思是:

(&(objectclass=*)(memberOf:1.2.840.113556.1.4.1941:=cn=gasaxena,<superior-portion-of-distinguished-name-here>))

答案 3 :(得分:0)

在我使用 memberOf:1.2.840.113556.1.4.1941:= 时,您必须使用群组的完整专有名称 CN = MyGroup,OU = User,OU = Groups ,OU =安全,DC =域,DC = com 是整个专有名称

$stateParams

通过运行以下代码并输入此过滤器(&amp;(objectClass = group)(name = MyGroup))

,您可以获得该组的专有名称
(&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=MyGroup,OU=User,OU=Groups,OU=Security,DC=domain,DC=com))