Catalyst::Model::LDAP::Entry - Convenience methods for Net::LDAP::Entry
# In your controller my $mesg = $c->model('Person')->search('(cn=Lou Rhodes)'); my $entry = $mesg->shift_entry; print $entry->title;
This module simplifies use of Net::LDAP::Entry objects in your application. It makes accessors and mutators for all attributes on an entry. For example:
print $entry->cn;
It also stores a reference to the parent LDAP connection, simplifying updates to the entry:
$entry->title('Folk singer'); $entry->update;
If you want to provide your own methods on an LDAP entry, you can use the entry_class configuration variable. For example:
entry_class
# In lib/MyApp/Model/LDAP.pm package MyApp::Model::LDAP; use base qw/Catalyst::Model::LDAP/; __PACKAGE__->config( # ... entry_class => 'MyApp::LDAP::Entry', ); 1; # In lib/MyApp/LDAP/Entry.pm package MyApp::LDAP::Entry; use base qw/Catalyst::Model::LDAP::Entry/; use DateTime::Format::Strptime; sub get_date { my ($self, $attribute) = @_; my ($datetime) = ($self->get_value($attribute) =~ /^(\d{14})/); my $parser = DateTime::Format::Strptime->new( pattern => '%Y%m%d%H%M%S', locale => 'en_US', time_zone => 'UTC' ); return $parser->parse_datetime($datetime); } 1;
Override the Net::LDAP::Entry object constructor to take an optional LDAP handle. If provided this will be used automatically on "update".
Override update to default to the optional LDAP handle provided to the constructor.
update
Override can to declare existence of the LDAP entry attribute methods from AUTOLOAD.
can
AUTOLOAD
Catalyst::Model::LDAP
Catalyst::Model::LDAP::Search
Marcus Ramberg
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.