Handle instance where user is not found in LDAP more gracefully

This commit is contained in:
Angus B. Grieve-Smith 2020-04-29 18:02:50 -04:00
parent f46d2f7802
commit e34253faf8
2 changed files with 12 additions and 2 deletions

View File

@ -134,7 +134,7 @@ class LDAP implements LDAPInterface
$data = ldap_first_entry($this->ldap_server, $result); $data = ldap_first_entry($this->ldap_server, $result);
if (!$data) if (!$data)
{ {
throw new Exception('An error has occured during ldap_first_entry execution. Please check parameter of LDAP/checkLogin.'); throw new Exception('No result from LDAP server', 404);
} }
$dn = ldap_get_dn($this->ldap_server, $data); $dn = ldap_get_dn($this->ldap_server, $data);
if (!$dn) if (!$dn)

View File

@ -86,7 +86,17 @@ try
} }
catch (Exception $e) catch (Exception $e)
{ {
$resp = array("error" => "Impossible to get data", "message" => $e->getMessage()); if ($e->getCode() == 404) {
$resp = [
"error" => "User not found",
"message" => "<b>$user</b> is not in the group of authorized users."
];
} else {
$resp = array(
"error" => "Impossible to get data",
"message" => $e->getMessage()
);
}
} }
// send data or error message in JSON format // send data or error message in JSON format