From aff752758004d2654c218209a813e598f577d3e4 Mon Sep 17 00:00:00 2001 From: Xavier Date: Mon, 17 Jun 2019 19:21:48 +0200 Subject: [PATCH] Fix bad call in LDAP (#1805) --- .../lib/Lemonldap/NG/Portal/Auth/LDAP.pm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/LDAP.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/LDAP.pm index 7f3d6a193..da8aad65c 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/LDAP.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Auth/LDAP.pm @@ -41,7 +41,18 @@ sub authenticate { # Set the dn unless done before unless ( $req->data->{dn} ) { - if ( my $tmp = $self->getUser($req) ) { + my $class = ref $self; + $class =~ s/::Auth::/::UserDB::/; + $class->logger->warn( + 'Auth::LDAP used without UserDB::LDAP, LLNG may fail'); + my $tmp = eval { $self->p->loadedModules->{$class}->getUser($req) }; + if ($@) { + $self->logger->error( +"Unable to authenticate using Auth::LDAP without having a UserDB::LDAP search: $@" + ); + return PE_ERROR; + } + if ($tmp) { $self->setSecurity($req); return $tmp; }