NAME
SPOPS::Tool::LDAP::Datasource -- Embed the parameters for a LDAP handle in object configuration
SYNOPSIS
# Connect to a server running on localhost:389 using an anonymous
# bind (no username/password)
my $spops = {
myobject => {
class => 'My::Object',
rules_from => [ 'SPOPS::Tool::LDAP::Datasource' ]
field => [ qw/ cn sn givenname displayname mail
telephonenumber objectclass uid ou / ],
id_field => 'uid',
ldap_base_dn => 'ou=People,dc=MyCompany,dc=com',
...
},
};
SPOPS::Initialize->process({ config => $spops });
my $ldap_filter = '&(objectclass=inetOrgPerson)(mail=*cwinters.com)';
my $list = My::Object->fetch_group({ where => $ldap_filter });
foreach my $object ( @{ $list } ) {
print "Name: $object->{givenname} at $object->{mail}\n";
}
DESCRIPTION
This rule allows you to embed the LDAP connection information in your object rather than using the strategies described elsewhere. This is very handy for creating simple, one-off scripts, but you should still use the subclassing strategy from SPOPS::Manual::Cookbook if you will have multiple objects using the same datasource.
METHODS
behavior_factory( $class )
Generates a behavior to generate the datasource retrieval code during the 'manipulate_configuration' phase.
datasource_access( $class )
Generates the 'global_datasource_handle()' method that retrieves an opened database handle if it exists or creates one otherwise.
BUGS
None known.
TO DO
Nothing known.
SEE ALSO
COPYRIGHT
Copyright (c) 2001-2002 intes.net, inc.. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHORS
Chris Winters <chris@cwinters.com>
Thanks to jeffa on PerlMonks (http://www.perlmonks.org/index.pl?node_id=18800) for suggesting this!