【发布时间】:2011-04-15 14:03:38
【问题描述】:
当我使用以下过滤器搜索一台 ldap 服务器时
(cn=%*)
它返回基本 dn 下的所有结果? LDAP 特别对待'%'?但是我没有找到任何关于它的描述。
【问题讨论】:
-
不,它没有。你期待的结果是什么?
标签: ldap
当我使用以下过滤器搜索一台 ldap 服务器时
(cn=%*)
它返回基本 dn 下的所有结果? LDAP 特别对待'%'?但是我没有找到任何关于它的描述。
【问题讨论】:
标签: ldap
你的目录服务器是什么?
你确定你的命令行解释器或编译器没有替换 '%' 吗?
根据RFC2254% 不是特殊字符
如果一个值应包含以下任何字符
Character ASCII value
---------------------------
* 0x2a
( 0x28
) 0x29
\ 0x5c
NUL 0x00
该字符必须编码为反斜杠“\”字符(ASCII 0x5c) 后跟代表 ASCII 的两个十六进制数字 编码字符的值。两个十六进制的情况 数字不重要。
这种简单的转义机制消除了过滤器解析的歧义 并允许任何可以在 LDAP 中表示的过滤器 表示为以 NUL 结尾的字符串。以外的其他角色 上面列出的可以使用这种机制进行转义,例如, 非打印字符。
例如,过滤器检查“cn”属性是否包含 任何位置带有字符“”的值将表示为 "(cn=\2a*)"。
请注意,尽管 上面的语法可以产生“attr=*”结构,这个结构是 仅用于表示存在过滤器。
【讨论】: