跳到主要内容

4. 示例 (Examples)

以下是使用上文定义格式的一些 LDAP URL 示例.第一个示例是引用密歇根大学条目的 LDAP URL, 该条目可从客户端选择的 LDAP 服务器获得:

ldap:///o=University%20of%20Michigan,c=US

下一个示例是引用特定 ldap 服务器中密歇根大学条目的 LDAP URL:

ldap://ldap1.example.net/o=University%20of%20Michigan,c=US

这两个 URL 都对应于对 "o=University of Michigan,c=US" 条目进行基对象搜索, 使用过滤器 "(objectclass=*)", 并请求所有属性.

下一个示例是仅引用密歇根大学条目的 postalAddress 属性的 LDAP URL:

ldap://ldap1.example.net/o=University%20of%20Michigan,
c=US?postalAddress

对应的 LDAP 搜索操作与前一示例相同, 只是仅请求 postalAddress 属性.

下一个示例是引用通过在端口 6666 上查询给定 LDAP 服务器, 并对密歇根大学执行子树搜索以查找 common name 为 "Babs Jensen" 的任何条目所找到的条目集合的 LDAP URL, 检索所有属性:

ldap://ldap1.example.net:6666/o=University%20of%20Michigan,
c=US??sub?(cn=Babs%20Jensen)

下一个示例是引用 c=GB 条目的所有子条目的 LDAP URL:

LDAP://ldap1.example.com/c=GB?objectClass?ONE

请求与条目一起返回 objectClass 属性, 并使用默认过滤器 "(objectclass=*)".

下一个示例是检索名为 "o=Question?,c=US" 的 LDAP 条目的 mail 属性的 LDAP URL, 说明了对保留字符 '?' 使用百分号编码机制:

ldap://ldap2.example.com/o=Question%3f,c=US?mail

下一个示例 (为便于阅读拆成两行) 说明了过滤器引用机制的 LDAP 字符串表示与 URL 引用机制之间的交互:

ldap://ldap3.example.com/o=Babsco,c=US
???(four-octet=%5c00%5c00%5c00%5c04)

此示例中的过滤器使用 LDAP 转义机制 \ 对值中的三个零或 null 字节进行编码.在 LDAP 中, 该过滤器写为 (four-octet=\00\00\00\04).由于 \ 字符在 URL 中必须被转义, 因此在 URL 编码中 \ 被百分号编码为 %5c (或 %5C).

下一个示例说明了 DN 引用机制的 LDAP 字符串表示与 URL 引用机制之间的交互:

ldap://ldap.example.com/o=An%20Example%5C2C%20Inc.,c=US

上述 URL 中编码的 DN 是:

o=An Example\2C Inc.,c=US

也就是说, 最左侧的 RDN 值是:

An Example, Inc.

假定使用本文档第 3 节指定的默认规则, 则以下三个 URL 等价:

ldap://ldap.example.net
ldap://ldap.example.net/
ldap://ldap.example.net/?

这三个 URL 都指向 ldap.example.net 服务器上的根 DSE.

最后两个示例展示了假设的实验性 bind name 扩展的使用 (与该扩展关联的值是 LDAP DN):

ldap:///??sub??e-bindname=cn=Manager%2cdc=example%2cdc=com
ldap:///??sub??!e-bindname=cn=Manager%2cdc=example%2cdc=com

这两个 URL 相同, 只是第二个将 e-bindname 扩展标记为关键.请注意使用百分号编码机制对 e-bindname 扩展中可分辨名称值内的逗号进行编码.