Table of Contents - LDAP:
Programming
Directory-Enabled Applications with Lightweight Directory Access
Protocol
1. Introduction.
Organization.
How to Use This Book.
What Is a Directory?
What a
Directory Service is Not.
Directory Enabled Applications.
Why LDAP?
Getting Down to Business.
2. A Quick Start Guide to LDAP Programming.
Setting Up Your Environment.
Microsoft Windows.
Macintosh.
UNIX.
A
Simple Search Example.
A Simpler Search Example.
An Update Example.
Looking Ahead.
3. The LDAP Models.
A Brief History of LDAP.
Overview of the LDAP Models.
Information
Model.
Naming Model.
Distinguished Names.
Functional Model.
Security
Model.
Referrals in LDAP.
From Theory to Practice.
Looking Ahead.
4. Preparing to Program with LDAP.
LDAP Software Development Kits (SDKs).
Using the LDAP SDK in a
Microsoft Windows Environment.
Using the LDAP SDK in a Macintosh
Environment.
Using the LDAP SDK in a UNIX Environment.
A Word About LDAP
Directory Servers.
Looking Ahead.
5. Overview of the LDAP API.
The Core LDAP Functions.
Typical Use of the LDAP Library.
Step 1:
Initialize the Library and Obtain a Session Handle.
Step 2: Initiate an
LDAP Operation and Wait for Results.
Step 3: Process the Result(s).
Step 4: Dispose of the LDAP Session Handle.
Synchronous versus
Asynchronous Use of the LDAP API.
Looking Ahead.
6. Initialization and Configuration.
Creating and Disposing of an LDAP
Session.
Creating an LDAP Session and
Opening a Server Connection.
Setting Options That Affect an LDAP
Session.
Retrieving Current Settings of LDAP Session Options.
Summary.
Looking Ahead.
7. LDAP Programming with Threads.
General Threading Issues.
LDAP Thread Call-Backs.
Threads Programming
Example.
Main Program.
Search Thread.
Modify Thread.
Support Routines.
Summary.
Looking Ahead.
8. Handling Errors.
Functions That Return an LDAP Error
Code.
Converting Error Codes into
Error Messages.
Checking Errors Contained Within an LDAP Result.
All of
the LDAP Error Codes.
Summary.
Looking Ahead.
9. Search.
Synchronous Searching.
Additional Search Parameters.
Retrieving No
Attributes.
Searching with a Time Limit.
Basic Result Parsing.
Retrieving Individual Entries.
Getting the Name of an Entry.
Retrieving
the Attributes of an Entry.
Retrieving the Values of an Attribute.
Representing Binary Values.
Asynchronous Searching.
Asynchronous
Programming Example.
Summary.
Looking Ahead.
10. Search Filters.
Search Filters.
Search Filters Explained.
Search Filters Defined.
Automatic Filter Generation.
Summary.
Looking Ahead.
11. Distinguished Names and Sorting.
A Friendly Way to Display
Distinguished Names.
Breaking Up a
Distinguished Name into Its Component Parts.
Sorting Entries.
Sorting
Attribute Values.
Summary.
Looking Ahead.
12. Compare.
Compare versus Search.
Comparing Entries (Synchronous).
Comparing Entries (Asynchronous).
Summary.
Looking Ahead.
13. Authentication.
LDAP and Secure Sockets Layer (SSL).
Simple Password Based
Authentication (Synchronous).
Simple Password Authentication
(Asynchronous).
The General Authentication Functions.
Handling LDAP Re-Binds.
Summary.
Looking Ahead.
14. Update.
Modifying Entries (Synchronous).
The LDAPMod Structure.
Modifying
Entries (Asynchronous).
Asynchronous Programming Example.
Adding
Entries (Synchronous).
Synchronous Add Example.
Adding Entries
(Asynchronous).
Deleting Entries (Synchronous).
Synchronous Delete
Example.
Deleting Entries (Asynchronous).
Changing the Name of an Entry
(Synchronous).
Name Change Example.
Changing the Name of an Entry
(Asynchronous).
Summary.
Looking Ahead.
15. LDAP URLs.
An Introduction to LDAP URLs.
Using LDAP URLs to Perform Searches.
Breaking Up an LDAP URL into Its Component Pieces.
Summary.
Looking
Ahead.
16. Using the LDAP API to Build an Application.
The Main Program.
Initialization.
Add.
Bind.
Delete.
List.
Read.
Search.
Miscellaneous Routines.
Sample Session.
Summary.
Looking Ahead.
17. LDAP Command Line Tools.
Overview.
The ldapsearch Tool.
Detailed Explanation of ldapsearch
Command Line Parameters.
The LDAP Data Interchange Format (LDIF).
The
ldapmodify and ldapadd Tools.
Detailed Explanation of ldapmodify and
ldapadd Command Line Parameters.
Format of Change Information.
Changetype: add.
Changetype: modify.
Changetype: delete.
Changetype:
modrdn.
The ldapdelete Tool.
Detailed Explanation of the ldapdelete
Command Line Parameters.
The ldapmodrdn Tool.
Detailed Explanation of the ldapmodrdn
Command Line Parameters.
Using the LDAP Tools over SSL.
Summary.
Looking Ahead.
18. Using the Command Line Tools to Build Applications.
Looking Ahead.
19. Future Directions.
LDAP Version 3.
Information Model.
Schema.
Security.
Internationalization.
Referrals.
Search.
Extensibility.
Beyond LDAPv3.
The Future of Directories.
Better Living Through Directories.
A. LDAP Resources.
General LDAP Resources.
LDAP Software and SDKs.
Public Internet Mailing
Lists.
Technical Papers.
RFCs and Internet Drafts.
X.500 and OSI
Related Resources.
B. LDAP API Reference.
LDAP API Functions.
Application Defined
Functions.
Structures.
C. Lightweight Directory Access Protocol.
Status of This Memo.
Abstract.
History.
Protocol Model.
Mapping onto
Transport Services.
Elements of Protocol.
Protocol Element Encodings.
Security Considerations.
Bibliography.
Author's Addresses.
D. A String Representation of Standard Attribute Syntaxes.
Status of This Memo.
Abstract.
Attribute Syntax Encoding Requirements.
Standard Attribute Syntax Encodings.
Security Considerations.
Acknowledgements.
Bibliography.
Authors' Addresses.
E. A String Representation of Distinguished Names.
Status of This Memo.
Abstract.
Why a
Notation is Needed.
A Notation for
Distinguished Name.
Examples.
Acknowledgements.
References.
Security
Considerations.
Author's Address.
F. An LDAP URL Format.
Status of This Memo.
Abstract.
URL
Definition.
Examples.
Security
Considerations.
Prototype Implementation Availability.
Bibliography.
Acknowledgements.
Authors' Addresses.
G. A String Representation of LDAP Search Filters.
Status of This Memo.
Abstract.
LDAP
Search Filter Definition.
String
Search Filter Definition.
Examples.
Security Considerations.
Bibliography.
Author's Address.
Index.