我正在尝试为 MS AD 生成一个 LDAP 过滤器,它根据一些 OU 过滤用户(在我的情况下,不包括特定的 OU,但也包括不起作用):
(&(cn=Testuser1)(|(ou:dn:=Included1)(ou:dn:=Included2)))
(&(cn=Testuser1)(!(ou:dn:=Excluded)))
不起作用。我测试(ou:dn:=Included1)
了哪些列出了实际的“文件夹”对象(下面标有 *),但没有列出下面的用户(DN 包含 ou)。我不能使用搜索库,因为它应该找到多个:
ou=Included1,dc=example,dc=com *
cn=Testuser1,ou=Included1,dc=example,dc=com +
ou=Included2,dc=example,dc=com
cn=Testuser1,ou=Included2,dc=example,dc=com +
ou=Excluded,dc=example,dc=com
cn=Testuser1,ou=Excluded,dc=example,dc=com -
在我上面的两个示例过滤器中,我想找到两个 Testuser1 条目(标有 +),而不是三个(标有 -)。
但它实际上不匹配。实际的用户条目在我可以过滤的属性中没有其他差异。
感觉是“ ou:dn:=
”语法只找到第一个名称组件是所需的对象,而不是任何...?