Gestinanna::POF::LDAP - LDAP interface for persistant objects


NAME

Gestinanna::POF::LDAP - LDAP interface for persistant objects

Back to Top


SYNOPSIS

 package My::DataObject;
 use base qw(Gestinanna::POF::LDAP);
 use constant base_dn => 'ou=branch, dc=some, dc=tld';
 use constant id_field => 'uid';
 use constant default_objectclass => [qw(list of objectClasses)];

Back to Top


DESCRIPTION

Gestinanna::POF::LDAP uses Net::LDAP to provide access via LDAP to objects stored in a directory. This module does make certain assumptions about the structure of the directory. If more sophisticated access is required, you may need to go directly to the Net::LDAP module instead of using this one.

Back to Top


ATTRIBUTES

This module tries to use as many hints as possible from the LDAP schema. Such hints override any security allowance (e.g., if security says an attribute is modifiable but the LDAP schema says it isn't, then modifications are not allowed).

The following are some notes on how attributes are handled.

Back to Top


CONFIGURATION

Three class methods are required to configure a data class.

base_dn

The base_dn is both the search base for finding objects and the common portion of the dn across all objects represented by the the search base and the class (also called a `branch' in the rest of this document).

id_field

The id_field is the attribute containing the unique identifier for an object within a branch. The value of the id_field and the base_dn together are used to create the dn of an object. This is the attribute object_id is mapped to when creating or loading objects using Gestinanna::POF.

default_objectclass

The default_objectclass is the initial object class (or list of them) that is given to any new objects that are created by Gestinanna::POF and are not in the directory. This may be a single value of an array reference containing multiple values. All the object classes should be valid object classes in the LDAP schema.

Back to Top


DATA CONNECTIONS

This module expects an Net::LDAP connection and an (optional) Net::LDAP::Schema object from the factory. If the schema object is not provided, it will pull a copy from the LDAP server. Providing this at the time the factory is created is sufficient. $factory = Gestinanna::POF -> new(_factory => ( ldap => $ldap_connection, ldap_schema => $ldap_schema, ) );

Back to Top


SEE ALSO

the Gestinanna::POF manpage, the Net::LDAP manpage, the Net::LDAP::Schema manpage.

Back to Top


AUTHOR

James Smith, <jsmith@cpan.org>

Back to Top


COPYRIGHT

Copyright (C) 2002, 2003 Texas A&M University. All Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Back to Top

 Gestinanna::POF::LDAP - LDAP interface for persistant objects