NAME
Catalyst::Model::LDAP::Connection - Convenience methods for Net::LDAP
DESCRIPTION
Subclass of Net::LDAP, which adds paging support and an additional method to rebless the entries. See Catalyst::Model::LDAP::Entry for more information.
OVERRIDING METHODS
If you want to override methods provided by Net::LDAP, you can use the connection_class
configuration variable. For example:
# In lib/MyApp/Model/LDAP.pm
package MyApp::Model::LDAP;
use base qw/Catalyst::Model::LDAP/;
__PACKAGE__->config(
# ...
connection_class => 'MyApp::LDAP::Connection',
);
1;
# In lib/MyApp/LDAP/Connection.pm
package MyApp::LDAP::Connection;
use base qw/Catalyst::Model::LDAP::Connection/;
use Authen::SASL;
sub bind {
my ($self, @args) = @_;
my $sasl = Authen::SASL->new(...);
push @args, sasl => $sasl;
$self->SUPER::bind(@_);
}
1;
METHODS
new
Create a new connection to the specific LDAP server.
my $conn = Catalyst::Model::LDAP::Connection->new(
host => 'ldap.ufl.edu',
base => 'ou=People,dc=ufl,dc=edu',
);
bind
Bind to the configured LDAP server using the specified credentials.
$conn->bind(
dn => 'uid=dwc,ou=People,dc=ufl,dc=edu',
password => 'secret',
);
search
Search the configured directory using a given filter. For example:
my $mesg = $c->model('Person')->search('(cn=Lou Rhodes)');
my $entry = $mesg->shift_entry;
print $entry->title;
This method overrides the search
method in Net::LDAP to add paging support. The following additional options are supported:
page
-
Which page to return.
rows
-
Rows to return per page. Defaults to 25.
order_by
-
Sort the records (on the server) by the specified attribute. Required if you use
page
.
When paging is active, this method returns the server response and a Data::Page object. Otherwise, it returns the server response only.
SEE ALSO
AUTHORS
Daniel Westermann-Clark
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.