David L. Leigh > AddressBook-0.16 > AddressBook::DB::LDAP

Download:
AddressBook-0.16.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.13   Source  

NAME ^

AddressBook::DB::LDAP - Backend for AddressBook to use LDAP.

SYNOPSIS ^

  use AddressBook;
  $a = AddressBook->new(source => "LDAP:hostname/ou=People,dc=example,dc=com",
                        username => "user", password => "pass");
  $a->add($entry) || die $a->code;

DESCRIPTION ^

The Net::LDAP library module is required in order to use this package.

AddressBook::DB::LDAP supports random access backend database methods.

Behavior can be modified using the following options:

key_fields

A list of LDAP attribute names (not cannonical names) which can be used to uniquely identify an entry.

hostname

The LDAP host to which to connect.

base

The base for LDAP queries.

objectclass

The objectclass for AddressBook entries.

username

An LDAP dn to use for accessing the server.

password
dn_calculate

A perl expression which, when eval'd returns a valid LDAP "dn" (omitting the "base" part of the dn). Other attributes may be referenced as "$<attr>".

For example, if LDAP entries have a dn like: "cn=John Doe,mail=jdoe@mail.com", then use the following:

  dn_calculate="'cn=' . $cn . ',mail=' . $mail"

Any of these options may be specified in the constructor, or in the configuration file.

new

  $a = AddressBook->new(source => "LDAP");
  $a = AddressBook->new(source => "LDAP:localhost/ou=People,dc=example,dc=com");
  $a = AddressBook->new(source => "LDAP",
                        hostname=>"localhost",
                        base=>"o=test"
                        );

Any or all options may be specified in the constructor, or in the configuration file.

Timestamps

For syncronization purposes, all records are timestamped using the "modifytimestamp" LDAP attribute. If the record has no "modifytimestamp", "createtimestamp" is used. If there is no "createtimestamp", the current time is used.

AUTHOR ^

Mark A. Hershberger, <mah@everybody.org> David L. Leigh, <dleigh@sameasiteverwas.net>

SEE ALSO ^

AddressBook, AddressBook::Config, AddressBook::Entry.

Net::LDAP

syntax highlighting: