=head1 DESCRIPTION
-This wraps up an LDAP object and presents a simplified interface to it's
+This wraps up an LDAP object and presents a simplified interface to its
contents. It uses some AUTOLOAD magic to pass method calls it doesn't
understand through as simple read only accessors for the LDAP entries
various attributes.
use strict;
use warnings;
use Scalar::Util qw/refaddr/;
+use Net::LDAP::Entry;
-our $VERSION = '1.015';
+our $VERSION = '1.017';
BEGIN { __PACKAGE__->mk_accessors(qw/user store/) }
Returns the user for persistence in the session depending on the
persist_in_session config option.
+Stores the persist_in_session setting so it can be used to revive the user
+even if the setting has been changed.
+
=cut
sub for_session {
if ( $self->store->persist_in_session eq 'all' ) {
# use the roles accessor to ensure the roles are fetched
- return { user => $self->user, _roles => [ $self->roles ] };
+ return {
+ # store the persistance setting in the session to know how to
+ # restore the user
+ persist_in_session => $self->store->persist_in_session,
+ user => $self->user,
+ _roles => [ $self->roles ],
+ };
}
return $self->stringify;