Catalyst::Model::LDAP - LDAP model class for Catalyst
# Use the Catalyst helper script/myapp_create.pl model Person LDAP ldap.ufl.edu ou=People,dc=ufl,dc=edu # Or, in lib/MyApp/Model/Person.pm package MyApp::Model::Person; use base qw/Catalyst::Model::LDAP/; __PACKAGE__->config( host => 'ldap.ufl.edu', base => 'ou=People,dc=ufl,dc=edu', ); 1; # Then, in your controller my $mesg = $c->model('Person')->search('(cn=Lou Rhodes)'); my @entries = $mesg->entries; print $entries[0]->sn;
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. It also lets you configure a base DN for searching.
Please refer to the Net::LDAP documentation for information on what else is available.
The following configuration parameters are supported:
host
The LDAP server's fully qualified domain name (FQDN), e.g. ldap.ufl.edu. Can also be an IP address, e.g. 127.0.0.1.
ldap.ufl.edu
127.0.0.1
base
The base distinguished name (DN) for searching the directory, e.g. ou=People,dc=ufl,dc=edu.
ou=People,dc=ufl,dc=edu
dn
(Optional) The bind DN for connecting to the directory, e.g. dn=admin,dc=ufl,dc=edu. This can be anyone that has permission to search under the base DN, as per your LDAP server's access control lists.
dn=admin,dc=ufl,dc=edu
password
(Optional) The password for the specified bind DN.
start_tls
(Optional) Set to 1 to use TLS when binding to the LDAP server, for secure connections.
1
start_tls_options
(Optional) A hashref containing options to use when binding using TLS to the LDAP server.
options
(Optional) A hashref containing options to pass to "search" in Catalyst::Model::LDAP::Connection. For example, this can be used to set a sizelimit.
NOTE: In previous versions, these options were passed to all Net::LDAP methods. This has changed to allow a cleaner connection interface. If you still require this behavior, create a class inheriting from Catalyst::Model::LDAP::Connection that overrides the specific methods and set connection_class.
connection_class
(Optional) The class or package name that wraps Net::LDAP. Defaults to Catalyst::Model::LDAP::Connection.
See also "OVERRIDING METHODS" in Catalyst::Model::LDAP::Connection.
entry_class
(Optional) The class or package name to rebless Net::LDAP::Entry objects as. Defaults to Catalyst::Model::LDAP::Entry.
See also "ADDING ENTRY METHODS" in Catalyst::Model::LDAP::Entry.
Bind the client using the current configuration and return it. This method is automatically called when you use e.g. $c->model('LDAP').
$c->model('LDAP')
If the start_tls configuration option is present, the client will use the Net::LDAP start_tls method to make your connection secure.
Catalyst::Helper::Model::LDAP
Catalyst::Model::LDAP::Connection
Catalyst::Model::LDAP::Search
Catalyst::Model::LDAP::Entry
Catalyst
Net::LDAP
Daniel Westermann-Clark <danieltwc@cpan.org>
Adam Jacob <holoway@cpan.org> (TLS support)
Marcus Ramberg (paging support and entry AUTOLOAD)
Salih Gonullu, for initial work on Catalyst mailing list
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Catalyst::Model::LDAP, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catalyst::Model::LDAP
CPAN shell
perl -MCPAN -e shell install Catalyst::Model::LDAP
For more information on module installation, please visit the detailed CPAN module installation guide.