Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ldapsearch-筛选dn中的ou_Ldap_Ldap Query - Fatal编程技术网

ldapsearch-筛选dn中的ou

ldapsearch-筛选dn中的ou,ldap,ldap-query,Ldap,Ldap Query,我知道你不能简单地在dn上过滤,但我有这样的东西: dc=lvl3,dc=lvl2,dc=lvl1,某人可能有这样一个dn: CN=Last,First,OU=ou1,OU=retired,OU=ou1,DC=lvl3,DC=lvl2,DC=lvl1 是否有一种方法可以为那些在任何ou中没有“退休”的人筛选结果?否。不是作为LDAP筛选器 当然,您可以在客户端进行搜索和排序 一般来说,用户“特征”的组织应该使用属性,而不是目录结构 比如: employeeType=活动 employeeTyp

我知道你不能简单地在
dn
上过滤,但我有这样的东西:

dc=lvl3,dc=lvl2,dc=lvl1
,某人可能有这样一个
dn
CN=Last,First,OU=ou1,OU=retired,OU=ou1,DC=lvl3,DC=lvl2,DC=lvl1


是否有一种方法可以为那些在任何ou中没有“退休”的人筛选结果?

否。不是作为LDAP筛选器

当然,您可以在客户端进行搜索和排序

一般来说,用户“特征”的组织应该使用属性,而不是目录结构

比如:

  • employeeType=活动
  • employeeType=已退休
  • employeeType=etc

避免这些情况。

否。不作为LDAP筛选器

当然,您可以在客户端进行搜索和排序

一般来说,用户“特征”的组织应该使用属性,而不是目录结构

比如:

  • employeeType=活动
  • employeeType=已退休
  • employeeType=etc

避免这些情况。

可能,但这取决于服务器的LDAP实现

有一种过滤器语法,允许对DN属性(除条目属性外)进行匹配:

(在LDAP规范中,这称为“dnAttributes”字段,是“ExtensionMatch”筛选器类型的一部分。请参阅)

并非所有的目录服务器都支持此功能。例如,OpenLDAP正确地处理它,但Active Directory(MS AD和Samba)将忽略它,其行为就像您使用了
(ou=Retired)

如果您的服务器支持这一点,那么只需像通常那样将筛选器包装在
(!(…)
中即可完成负匹配


但是,在其他情况下,您应该a)使用自定义属性,或者b)可能检查全局“活动员工”组或类似组中的成员身份。

可能,但这取决于服务器的LDAP实现

有一种过滤器语法,允许对DN属性(除条目属性外)进行匹配:

(在LDAP规范中,这称为“dnAttributes”字段,是“ExtensionMatch”筛选器类型的一部分。请参阅)

并非所有的目录服务器都支持此功能。例如,OpenLDAP正确地处理它,但Active Directory(MS AD和Samba)将忽略它,其行为就像您使用了
(ou=Retired)

如果您的服务器支持这一点,那么只需像通常那样将筛选器包装在
(!(…)
中即可完成负匹配

但是,在其他情况下,您应该a)使用自定义属性,或者b)可能检查全局“活动员工”组或类似组的成员资格

(ou:dn:=Retired)