LDAP URLs


n LDAP URL is a URL that begins with the ldap:// protocol prefix (or ldaps://, if the server is communicating over an SSL connection) and specifies a search request sent to an LDAP server.

When you access the directory server using a web-based client such as the directory server gateway, you must provide an LDAP URL identifying the directory server you wish to access. You can set the default LDAP URL to use with the directory server gateway using the baseurl parameter.

In addition, you may use LDAP URLs when managing directory server referrals or access control instructions.

This appendix contains the following sections:

 

Components of an LDAP URL

LDAP URLs have the following syntax:


ldap[s]://<hostname>:<port>/<base_dn>?<attributes>?<scope>?<filter>

(The ldap:// protocol is used to connect to LDAP servers over unsecured connections, and the ldaps:// protocol is used to connect to LDAP servers over SSL connections.)

Table C.1 lists the components of an LDAP URL.

Table C.1 Components of an LDAP URL

Component

Description


<hostname>

Name (or IP address in dotted format) of the LDAP server (for example, ldap.airius.com or 192.202.185.90).


<port>

Port number of the LDAP server (for example, 696).

If no port is specified, the standard LDAP port (389) or LDAPS port (636) is used.


<base_dn>

Distinguished name (DN) of an entry in the directory. This DN identifies the entry that is starting point of the search.

If this component is empty, the search starts at the root of the directory tree.


<attributes>

The attributes to be returned. To specify more than one attribute, use commas to delimit the attributes (for example, "cn,mail,telephoneNumber").

If no attributes are specified in the URL, all attributes are returned.


<scope>

The scope of the search, which can be one of these values:

base retrieves information only about the distinguished name (<base_dn>) specified in the URL.

one retrieves information about entries one level below the distinguished name (<base_dn>) specified in the URL. The base entry is not included in this scope.

sub retrieves information about entries at all levels below the distinguished name (<base_dn>) specified in the URL. The base entry is included in this scope.

If no scope is specified, the server performs a base search.


<filter>

Search filter to apply to entries within the specified scope of the search.

If no filter is specified, the server uses the filter (objectClass=*).

Note that <attributes>, <scope>, and <filter> are identified by their positions in the URL. If you do not want to specify any attributes, you still need to include the question marks delimiting that field.

For example, to specify a subtree search starting from "o=airius.com" that returns all attributes for entries matching "(sn=Jensen)", use the following URL:


ldap://ldap.airius.com/o=airius.com??sub?(sn=Jensen)

Note that the two consecutive question marks -- ?? -- indicate that no attributes have been specified. Since no specific attributes are identified in the URL, all attributes are returned in the search.

 

Escaping Unsafe Characters

Any "unsafe" characters in the URL need to be represented by a special sequence of characters (this is often called escaping unsafe characters). For example, a space is an unsafe character that must be represented as %20 within the URL. Thus, the distinguished name "o=airius corporation" must be encoded as "o=airius%20corporation". The following table lists the characters that are considered unsafe within URLs and provides the associated escape characters to use in place of the unsafe character.:
Unsafe character

Escape characters

space

%20

<

%3c

>

%3e

"

%22

#

%23

%

%25

{

%7b

}

%7d

|

%7c

\

%5c

^

%5e

~

%7e

[

%5b

]

%5d

`

%60

 

Examples of LDAP URLs

The following LDAP URL specifies a base search for the entry with the distinguished name "o=airius.com".


ldap://ldap.airius.com/o=airius.com

The following LDAP URL retrieves the postalAddress attribute of the airius.com entry:


ldap://ldap.airius.com/o=airius.com?postalAddress

The following LDAP URL retrieves the cn, mail, and telephoneNumber attributes of the entry for Barbara Jensen:


ldap://ldap.airius.com/cn=Barbara%20Jensen,o=airius.com?cn,mail,telephoneNumber

The following LDAP URL specifies a search for entries that have the last name Jensen and are at any level under "o=airius.com":


ldap://ldap.airius.com/o=airius.com??sub?(sn=Jensen)

The following LDAP URL specifies a search for the object class for all entries one level under "o=airius.com":


ldap://ldap.airius.com/o=airius.com?objectClass?one