为什么ldap搜索在使用%时返回所有结果?

为什么ldap搜索在使用%时返回所有结果?,ldap,Ldap,当我使用以下过滤器搜索一个ldap服务器时 (cn=%*) 它返回基本dn下的所有结果?LDAP是否特别对待“%”?但是我没有找到任何关于它的描述。你的目录服务器是什么 您确定命令行解释器或编译器不会替换“%”吗 根据%不是特殊字符 如果值应包含以下任何字符 Character ASCII value --------------------------- * 0x2a (

当我使用以下过滤器搜索一个ldap服务器时

(cn=%*)

它返回基本dn下的所有结果?LDAP是否特别对待“%”?但是我没有找到任何关于它的描述。

你的目录服务器是什么

您确定命令行解释器或编译器不会替换“%”吗

根据%不是特殊字符

如果值应包含以下任何字符

       Character       ASCII value
       ---------------------------
       *               0x2a
       (               0x28
       )               0x29
       \               0x5c
       NUL             0x00
该字符必须编码为反斜杠“\”字符(ASCII 0x5c),后跟表示ASCII的两个十六进制数字 编码字符的值。两个十六进制的情况 数字不重要

这种简单的转义机制消除了过滤器解析的歧义 并允许使用LDAP中可以表示的任何筛选器 表示为以NUL结尾的字符串。其他角色 上面列出的可能会使用此机制进行转义,例如, 非打印字符

例如,过滤器检查“cn”属性是否包含 其中任意位置带有字符“”的值将表示为 “(cn=\2a*)”

请注意,虽然子字符串和present production都在 上面的语法可以生成“attr=*”构造,这个构造是
仅用于表示状态筛选器。

否它不表示状态筛选器。你期望的结果是什么?