我尝试使用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
答案 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)
示例(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))