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
    * Catalyst::Helper::Model::LDAP
    * Catalyst
    * Net::LDAP

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.

