1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
|
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]
^L
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]
^L
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]
^L
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]
^L
|