The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Catalyst::Model::LDAP - LDAP model class for Catalyst

SYNOPSIS

    # Use the Catalyst helper
    script/myapp_create.pl model Person LDAP ldap.ufl.edu ou=People,dc=ufl,dc=edu

    # lib/MyApp/Model/Person.pm
    package MyApp::Model::Person;

    use base 'Catalyst::Model::LDAP';

    __PACKAGE__->config(
        host              => 'ldap.ufl.edu',
        base              => 'ou=People,dc=ufl,dc=edu',
        dn                => '',
        password          => '',
        start_tls         => 1,
        start_tls_options => { verify => 'require' },
        options           => {},  # Options passed to all Net::LDAP methods
                                  # (e.g. SASL for bind or sizelimit for
                                  # search)
    );

    1;

    # In your controller
    my $mesg = $c->model('Person')->search('(cn=Lou Rhodes)');
    my @entries = $mesg->entries;
    print $entries[0]->get_value('sn');

DESCRIPTION

This is the Net::LDAP model class for Catalyst. It is nothing more than a simple wrapper for Net::LDAP.

This class simplifies LDAP access by letting you configure a common set of bind arguments and options. It also lets you configure a base DN for searching.

Net::LDAP methods are supported via Perl's AUTOLOAD mechanism. Please refer to the Net::LDAP documentation for information on what's available.

METHODS

new

Create a new Catalyst LDAP model component.

_client

Bind the client using the current configuration and return it. This method is automatically called when you use a Net::LDAP method.

If the start_tls configuration option is present, the client will use the Net::LDAP start_tls method to make your connection secure.

_execute

Execute the specified LDAP command. Call the appropriate Net::LDAP methods directly instead of this method. For example:

    # In your controller
    my $mesg = $c->model('Person')->search('(cn=Andy Barlow)');

SEE ALSO

AUTHORS

  • Daniel Westermann-Clark <danieltwc@cpan.org>

  • Adam Jacob <holoway@cpan.org> (TLS support)

ACKNOWLEDGEMENTS

  • Salih Gonullu, for initial work on Catalyst mailing list

  • Christopher H. Laco, for AUTOLOAD idea

LICENSE

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