mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
228 lines
7.1 KiB
Plaintext
228 lines
7.1 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
Network Working Group T. Howes
|
||
Request for Comments: 1959 M. Smith
|
||
Category: Standards Track University of Michigan
|
||
June 1996
|
||
|
||
|
||
An LDAP URL Format
|
||
|
||
Status of this Memo
|
||
|
||
This document specifies an Internet standards track protocol for the
|
||
Internet community, and requests discussion and suggestions for
|
||
improvements. Please refer to the current edition of the "Internet
|
||
Official Protocol Standards" (STD 1) for the standardization state
|
||
and status of this protocol. Distribution of this memo is unlimited.
|
||
|
||
1. Abstract
|
||
|
||
LDAP is the Lightweight Directory Access Protocol, defined in [1] and
|
||
[2]. This document describes a format for an LDAP Uniform Resource
|
||
Locator which will allow Internet clients to have direct access to
|
||
the LDAP protocol. While LDAP currently is used only as a front end
|
||
to the X.500 directory, the URL format described here is general
|
||
enough to handle the case of stand-alone LDAP servers (i.e., LDAP
|
||
servers not back-ended by X.500).
|
||
|
||
2. URL Definition
|
||
|
||
An LDAP URL begins with the protocol prefix "ldap" and is defined by
|
||
the following grammar.
|
||
|
||
<ldapurl> ::= "ldap://" [ <hostport> ] "/" <dn> [ "?" <attributes>
|
||
[ "?" <scope> "?" <filter> ] ]
|
||
|
||
<hostport> ::= <hostname> [ ":" <portnumber> ]
|
||
|
||
<dn> ::= a string as defined in RFC 1485
|
||
|
||
<attributes> ::= NULL | <attributelist>
|
||
|
||
<attributelist> ::= <attributetype>
|
||
| <attributetype> [ "," <attributelist> ]
|
||
|
||
<attributetype> ::= a string as defined in RFC 1777
|
||
|
||
<scope> ::= "base" | "one" | "sub"
|
||
|
||
<filter> ::= a string as defined in RFC 1558
|
||
|
||
|
||
|
||
Howes & Smith Standards Track [Page 1]
|
||
|
||
RFC 1959 An LDAP URL Format June 1996
|
||
|
||
|
||
The ldap prefix indicates an entry or entries residing in the LDAP
|
||
server running on the given <hostname> at the given <portnumber>.
|
||
The default port is TCP port 389. The <dn> is an LDAP Distinguished
|
||
Name using the string format described in [1], with any URL-illegal
|
||
characters (e.g., spaces) escaped using the % method described in RFC
|
||
1738.
|
||
|
||
The <attributes> construct is used to indicate which attributes
|
||
should be returned from the entry or entries. Individual
|
||
<attributetype> names are as defined for AttributeType in RFC 1777.
|
||
If the <attributes> part is omitted, all attributes of the entry or
|
||
entries should be returned.
|
||
|
||
The <scope> construct is used to specify the scope of the search to
|
||
perform in the given LDAP server. The allowable scopes are "base"
|
||
for a base object search, "one" for a one-level search, or "sub" for
|
||
a subtree search. If <scope> is omitted, a scope of "base" is
|
||
assumed.
|
||
|
||
The <filter> is used to specify the search filter to apply to entries
|
||
within the specified scope during the search. It has the format
|
||
specified in [4], with any URL-illegal characters escaped using the %
|
||
method described in RFC 1738. If <filter> is omitted, a filter of
|
||
"(objectClass=*)" is assumed.
|
||
|
||
Note that if the entry resides in the X.500 namespace, it should be
|
||
reachable from any LDAP server that is providing front-end access to
|
||
the X.500 directory. If the <hostport> part of the URL is missing,
|
||
the URL can be resolved by contacting any X.500-back-ended LDAP
|
||
server.
|
||
|
||
3. Examples
|
||
|
||
The following are some example LDAP URLs using the format defined
|
||
above. An LDAP URL referring to the University of Michigan entry,
|
||
available from any X.500-capable LDAP server:
|
||
|
||
ldap:///o=University%20of%20Michigan,c=US
|
||
|
||
An LDAP URL referring to the University of Michigan entry in a
|
||
particular ldap server:
|
||
|
||
ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US
|
||
|
||
This URL corresponds to a base object search of the "o=University of
|
||
Michigan, c=US" entry using a filter of (objectclass=*), requesting
|
||
all attributes.
|
||
|
||
|
||
|
||
|
||
Howes & Smith Standards Track [Page 2]
|
||
|
||
RFC 1959 An LDAP URL Format June 1996
|
||
|
||
|
||
An LDAP URL referring to only the postalAddress attribute of the
|
||
University of Michigan entry:
|
||
|
||
ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress
|
||
|
||
The corresponding LDAP search operation is the same as in the
|
||
previous example, except that only the postalAddress attribute is
|
||
requested.
|
||
|
||
An LDAP URL referring to the set of entries found by querying any
|
||
X.500-capable LDAP server and doing a subtree search of the
|
||
University of Michigan for any entry with a common name of "Babs
|
||
Jensen", retrieving all attributes:
|
||
|
||
ldap:///o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)
|
||
|
||
An LDAP URL referring to all children of the c=GB entry:
|
||
|
||
ldap://ldap.itd.umich.edu/c=GB?objectClass?one
|
||
|
||
The objectClass attribute is requested to be returned along with the
|
||
entries.
|
||
|
||
4. Security Considerations
|
||
|
||
The LDAP URL format does not provide a way to specify credentials to
|
||
use when resolving the URL. Therefore, it is expected that such
|
||
requests will be unauthenticated. The security implications of
|
||
resolving an LDAP URL are the same as those of resolving any LDAP
|
||
query. See the RFC 1777 for more details.
|
||
|
||
5. Prototype Implementation Availability
|
||
|
||
There is a prototype implementation of the specification defined in
|
||
this document available. It is an extension to the libwww client
|
||
library, provided in both source and binary forms. Also included are
|
||
binary versions of the Mosaic WWW client for various platforms. See
|
||
the following URL for more details:
|
||
|
||
ftp://terminator.rs.itd.umich.edu/ldap/url/
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Howes & Smith Standards Track [Page 3]
|
||
|
||
RFC 1959 An LDAP URL Format June 1996
|
||
|
||
|
||
6. Bibliography
|
||
|
||
[1] Kille, S., "A String Representation of Distinguished Names",
|
||
RFC 1779, March 1995.
|
||
|
||
[2] Yeong, W., Howes, T., and S. Kille, "Lightweight
|
||
Directory Access Protocol", RFC 1777, March 1995.
|
||
|
||
[3] Howes, R., Kille, S., Yeong, W., and C. Robbins, "The String
|
||
Representation of Standard Attribute Syntaxes", RFC 1778,
|
||
March 1995.
|
||
|
||
[4] Howes, T., "A String Representation of LDAP Search Filters",
|
||
RFC 1558, December 1993.
|
||
|
||
[5] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform
|
||
Resource Locators (URL)", RFC 1738, December 1994.
|
||
|
||
7. Acknowledgements
|
||
|
||
This material is based upon work supported by the National Science
|
||
Foundation under Grant No. NCR-9416667.
|
||
|
||
8. Authors' Addresses
|
||
|
||
Tim Howes
|
||
University of Michigan
|
||
ITD Research Systems
|
||
535 W William St.
|
||
Ann Arbor, MI 48103-4943
|
||
USA
|
||
|
||
Phone: +1 313 747-4454
|
||
EMail: tim@umich.edu
|
||
|
||
|
||
Mark Smith
|
||
University of Michigan
|
||
ITD Research Systems
|
||
535 W William St.
|
||
Ann Arbor, MI 48103-4943
|
||
USA
|
||
|
||
Phone: +1 313 764-2277
|
||
EMail: mcs@umich.edu
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Howes & Smith Standards Track [Page 4]
|
||
|