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

SPOPS::Manual::CodeGeneration

SPOPS::LDAP

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!