RFC2255LDAP URL格式
- 格式:pdf
- 大小:263.82 KB
- 文档页数:10
版权信息:本文档版权由所有,可随意传播、打印及用于任何用途,必须保留本文档的所有版权信息及版本信息,同时不可对本文档的任何部分进行任何修改。
版本信息日期版本描述作者2004-03-01 v1.0 最初版本 保留随时对本文档的任何部分作出修改,而不事先通知使用者的权利。
The LDAP URL FormatLDAP URL格式1、本备忘录的状态(Status of this Memo)本文档定义了一个用于Internet通讯的Internet标准跟踪协议,为了发展的需要讨论和建议。
对于这个协议的状况和地位请参照Internet官方协议标准("Internet Official Protocol Standards"(STD 1))的当前版。
这个备忘录的传播是不受限制的。
版权提示(Copyright Notice)版权Internet组织(The Internet Society (1997))。
所有权利保留。
IESG提示(IESG Note)本文档描述将一种同时提供读和更新访问的目录访问协议。
更新访问需要安全认证,但这个文档并不强制实现任何安全认证机制。
与RFC2026的4.4.1节相同,本规范正在被IESG批准期间,作为被提议的标准,可能并不限于本文档所述内容。
原因如下:a、鼓励在它们被发布前,实现和交互测试这些协议(带有或没有更新访问);b、鼓励在只读的应用程序中配置和使用这些协议。
(例如,在某些应用程序中,目录的更新访问使用某些其它安全的机制而不是LDAP,而使用LDAPv3被作为对目录的查询语言);c、避免阻碍别的Internet标准追踪协议的发展和发布。
(这些协议需要LDAPv3的目录服务器的查询能力,而不是更新能力)需要警告读者的是,直到强制的验证机制被标准化之前,根据本规范编写的客户端和服务器实现了更新功能的话,它们的互操作性可能是不可靠的,或者仅提供在认证需要极度弱化的时候的互操作性。
因此在具有强制认证的LDAPv3未成为一个RFC而被批准或发布之前,不鼓励实现者发布一个实现了更新功能的LDAPv3的客户端和服务器。
目录The LDAP URL Format LDAP URL格式 (2)1、本备忘录的状态(Status of this Memo) (2)版权提示(Copyright Notice) (2)IESG提示(IESG Note) (2)2、摘要(Abstract) (4)3、URL定义(URL Definition) (4)4、Bindname扩展(The Bindname Extension) (6)5、URL处理(URL Processing) (6)6、范例(Examples) (7)7、安全考虑(Security Considerations) (8)8、感谢(Acknowledgements) (9)9、参考书目(References) (9)10、作者地址(Authors' Addresses) (9)11、完整的版权声明(Full Copyright Statement) (10)2、摘要(Abstract)LDAP是轻目录访问协议,在参考文档[1],[2]和[3]中定义。
本文档描述了LDAP统一资源地址(URL)的格式。
该格式描述了执行从一个LDAP目录检索信息的LDAP查询操作。
本文档替代了RFC 1959。
它为LDAPv3更新了LDAP URL格式,并解释了如何处理LDAP URL。
本文档也为LDAP URL定义了扩展机制,这样未来的文档能扩展它们的功能,例如,若定义了一个新的LDAPv3扩展,就可以提供对它们的访问。
在本文档中使用的关键字"MUST","MAY"和"SHOULD"的含意与参考文档[6]中描述的相同。
3、URL定义(URL Definition)一个LDAP URL使用协议的前缀"ldap"开始,并使用下面的语法定义。
ldapurl =scheme "://" [hostport] ["/"[dn ["?" [attributes] ["?" [scope]["?" [filter] ["?" extensions]]]]]]scheme = "ldap"attributes =attrdesc *("," attrdesc)scope = "base" / "one" / "sub"dn =distinguishedName from Section 3 of [1]hostport =hostport from Section 5 of RFC 1738 [5]attrdesc =AttributeDescription from Section 4.1.5 of [2]filter =filter from Section 4 of [4]extensions =extension *("," extension)extension =["!"] extype ["=" exvalue]extype =token / xtokenexvalue =LDAPString from section 4.1.2 of [2]token =oid from section 4.1 of [3]xtoken =("X-" / "x-") token前缀"ldap"声明了存在于LDAP服务器中的一个或多个条目,该LDAP服务器运行在给定主机的给定端口号上的。
缺省的LDAP端口号是TCP端口389。
如果示给出主机端口号,客户端必须有一些预备知识,以连接到一个适合的LDAP服务器。
dn是使用字符串格式的LDAP分辨名(参考文档[1]中描述)。
它标识了LDAP查询的基准对象(base object)。
attributes结构用于标识那些属性应该从条目中(或多个条目中)返回。
单个attrdesc名称与参考文档[2]中AttributeDescription的定义相同。
如果attributes部分被忽略,条目(或多个条目)的所有用户属性应该被请求(例如,通过设置LDAP查询请求中的attributes域的AttributeDescriptionList为一个NULL列表,或(在LDAPv3里)通过请求特殊的属性名"*")。
scope部分用于指定在给定的服务器上执行的查询的范围。
允许的范围如下:"base"指基准对象(base object)查询,"one"指一层子条目查询,或者"sub"指子树(subtree)查询。
如果scope被忽略,则认为是"base"范围。
filter被用于指定查询过滤器,该过滤器在查询时应用到指定范围内的条目上。
它的格式在参考文档[4]中定义。
如果filter被忽略,则认为过滤器是"(objectClass=*)"。
extensions部分提供了带有扩展机制的LDAP URL,它允许URL的能力在未来可以被扩展。
扩展是一个简单的由逗号分隔的(comma-separated)type=value对儿列表,=value部分对于不需要它的选项可以(MAY)被忽略。
每一个type=value对儿是一个扩展。
这些LDAP URL扩展不必与某个LDAPv3扩展机制相关。
处理该URL的客户端可以支持,也可以不支持扩展。
以'!'(ASCII 33)字符为前缀的extension是关键(critical)扩展。
不以'!'(ASCII 33)字符为前缀的扩展是非关键(non-critical)扩展。
如果某个扩展被客户端所支持,若该扩展是关键扩展,则客户端必须(MUST)遵守该扩展。
客户端应该(SHOULD)遵守它所支持的非关键扩展。
如果某个扩展不被客户端支持,若该扩展是关键扩展,客户端绝不(MUST NOT)能处理该URL。
如果不支持的扩展是非关键扩展,客户端必须(MUST)忽略该扩展。
如果一个关键扩展不能被客户端成功处理,客户端绝不(MUST NOT)能处理该URL。
如果一个非关键扩展不能被客户端成功处理,客户端应该(SHOULD)忽略该扩展。
带有"X-"或"x-"前缀的扩展类型保留,在通讯个体之间的双边协议(bilateral agreements)中使用。
其它扩展类型必须(MUST)在本文档中定义,或在其它标准追踪文档中定义。
本文档的下一节中将定义一个LDAP URL扩展。
其它文档或本文档的未来版本可能(MAY)定义其它扩展。
应注意,任何URL非法字符(URL-illegal character)(例如,空格),URL特殊字符(URL special character)(类似于RFC 1738的2.2节中定义的)和保留字符'?'(ASCII 63)出现在dn中、出现在filter中、或出现在LDAP URL中的其它元素中,必须(MUST)使用在RFC 1738(参考文档[5])中描述的%方法进行转义。
如果一个','(逗号字符)出现在一个extension 值的中,该字符也必须(MUST)使用%方法进行转义。
4、Bindname扩展(The Bindname Extension)本节定义了一个LDAP URL扩展,该扩展代表了一个客户端使用的分辨名,客户端在解析一个LDAP URL期间认证到一个LDAP目录时使用该分辨名。
客户端可以(MAY)实现该扩展。
该扩展类型是"bindname"。
extension值是认证时使用的目录条目的分辨名,与上面语法里描述的dn的格式相同。
dn可以是空字符串,指定为非认证访问。
该扩展可以是关键扩展(以'!'字符为前缀)或非关键扩展(不以'!'字符前缀)。
如果bindname扩展是关键扩展,解析URL的客户端必须(MUST)使用给定的分辨名和一个适当的认证方法认证到目录。
注意对于一个NULL分辨名,可能(MAY)需要不绑定(no bind),以获得对目录的匿名访问。