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
} ) {
"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-2004 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!