
459
DEVELOPING
COLDFUSION 9 APPLICATIONS
Accessing and Using Data
Las
t
upda
te
d 8/5/2010
This search shows the use of a logical AND statement in a filter. It returns one attribute, the surname, that is used only
for sorting the results.
In this query, the
ou
attribute value consists of two values in a comma-delimited list. One is the department name. The
other is People. This is because the Airius database uses the
ou
attribute type twice:
•
In the distinguished names, at the second level of the directory tree, where it differentiates between organizational
units such as people, groups, and directory servers
•
As the department identifier in each person’s entry
Because the attribute values are returned in order from the person entry to the directory tree root, the
ListFirst
function extracts the person’s department name.
Updating an LDAP directory
The
cfldap
tag lets you perform the following actions on LDAP directory entries:
•
Add
•
Delete
<cfif (isdefined("form.name") AND (form.name
IS NOT ""))>
Ensures that the user has submitted the form. This is necessary because the
form page is also the action page. Ensures that the user entered search text.
<cfldap
server="ldap.airius.com"
action="query"
name="results"
start="ou=People, o=Airius.com"
scope="onelevel"
filter="(&(cn=*#form.Name#*)(l=Santa
Clara))"
attributes="cn,sn,ou,mail,telephonenumber"
sort="ou,sn"
maxrows=100
timeout=20000
>
Connects anonymously to LDAP server ldap.airius.com, query the directory, and
return the results to a query object named results.
Starts the query at the directory entry that has the distinguished name
ou=People, o=Airius.com, and searches the directory level immediately below
this entry.
Requests records for entries that contain the location (l) attribute value "Santa
Clara" and the entered text in the common name attribute.
Gets the common name, surname, organizational unit, e-mail address, and
telephone number for each entry.
Sorts the results first by organization name, then by surname. Sorts in the
default sorting order.
Limit the request to 100 entries. If the server does not return the data in 20
seconds, generates an error indicating that LDAP timed out.
<table border=0 cellspacing=2 cellpadding=2>
<tr>
<th
colspan=4><cfoutput>#results.RecordCount#
matches found</cfoutput>
</th>
</tr>
<tr>
<th>Name</th>
<th>Department</th>
<th>E-Mail</th>
<th>Phone</th>
</tr>
<cfoutput query="results">
<tr>
<td>#cn#</td>
<td>#listFirst(ou)#</td>
<td><a href="mailto:#mail#">#mail#</a></td>
<td>#telephonenumber#</td>
</tr>
</cfoutput>
</table>
</cfif>
Starts a table to display the output
Displays the number of records returned.
Displays the common name, department, e-mail address, and telephone
number of each entry.
Displays only the first entry in the list of organizational unit values. (For more
information, see the description that follows this table.)
Code
Description