sub from_session {
my ( $self, $c, $id ) = @_;
- $self->get_user($id, $c);
+ my $pass;
+ if ($id =~ s/,(.*)//) {
+ my $pass = $1;
+ }
+ my $user = $self->get_user($id, $c);
+ if ($pass) {
+ $Catalyst::Authentication::Store::LDAP::User::_ldap_connection_passwords{refaddr($user)} = $pass;
+ }
+ return $user;
}
1;
use overload '""' => sub { shift->stringify }, fallback => 1;
-my %_ldap_connection_passwords; # Store inside-out so that they don't show up
+our %_ldap_connection_passwords; # Store inside-out so that they don't show up
# in dumps..
=head1 METHODS
sub for_session {
my $self = shift;
- return $self->stringify;
+ my $id = $self->stringify;
+ if ($_ldap_connection_passwords{refaddr($self)}) {
+ $id .= ',' . $_ldap_connection_passwords{refaddr($self)};
+ }
}
=head2 ldap_entry