37 global $db, $conf, $langs;
38 global $dolibarr_main_authentication, $dolibarr_auto_user;
40 $fuser =
new User($db);
42 if (!$error && ($authentication[
'dolibarrkey'] != $conf->global->WEBSERVICES_KEY))
45 $errorcode =
'BAD_VALUE_FOR_SECURITY_KEY'; $errorlabel =
'Value provided into dolibarrkey entry field does not match security key defined in Webservice module setup';
48 if (!$error && !empty($authentication[
'entity']) && !is_numeric($authentication[
'entity']))
51 $errorcode =
'BAD_PARAMETERS'; $errorlabel =
"The entity parameter must be empty (or filled with numeric id of instance if multicompany module is used).";
56 $result = $fuser->fetch(
'', $authentication[
'login'],
'', 0);
60 $errorcode =
'ERROR_FETCH_USER'; $errorlabel =
'A technical error occurred during fetch of user';
61 } elseif ($result == 0)
64 $errorcode =
'BAD_CREDENTIALS'; $errorlabel =
'Bad value for login or password';
67 if (!$error && $fuser->statut == 0)
70 $errorcode =
'ERROR_USER_DISABLED'; $errorlabel =
'This user has been locked or disabled';
79 if (empty($dolibarr_main_authentication)) $dolibarr_main_authentication =
'http,dolibarr';
81 if ($dolibarr_main_authentication ==
'forceuser' && empty($dolibarr_auto_user)) $dolibarr_auto_user =
'auto';
83 $authmode = explode(
',', $dolibarr_main_authentication);
85 include_once DOL_DOCUMENT_ROOT.
'/core/lib/security2.lib.php';
86 $login =
checkLoginPassEntity($authentication[
'login'], $authentication[
'password'], $authentication[
'entity'], $authmode,
'ws');
90 $errorcode =
'BAD_CREDENTIALS'; $errorlabel =
'Bad value for login or password';
check_authentication($authentication, &$error, &$errorcode, &$errorlabel)
Check authentication array and set error, errorcode, errorlabel.
Class to manage Dolibarr users.
checkLoginPassEntity($usertotest, $passwordtotest, $entitytotest, $authmode, $context= '')
Return a login if login/pass was successfull.