diff --git a/htdocs/includes/login/functions_ldap.php b/htdocs/includes/login/functions_ldap.php
index 1ce166291dd..59c3882224c 100644
--- a/htdocs/includes/login/functions_ldap.php
+++ b/htdocs/includes/login/functions_ldap.php
@@ -110,21 +110,16 @@ function check_user_password_ldap($usertotest,$passwordtotest)
if ($result)
{
$ldap->fetch($_POST["username"]);
- // On stop si le mot de passe ldap doit etre modifie
- if ($ldap->pwdlastset == 0)
+ // On stop si le mot de passe ldap doit etre modifie sur le domaine
+ if ($ldap->pwdlastset <= 0)
{
- session_destroy();
- dolibarr_syslog('User '.$login.' must change password next logon');
+ dolibarr_syslog('functions_ldap::User '.$login.' must change password next logon');
if ($ldapdebug) print "DEBUG: User ".$login." must change password
\n";
$ldap->close();
-
- // On repart sur page accueil
- session_name($sessionname);
- session_start();
+ sleep(1);
$langs->load('ldap');
$_SESSION["dol_loginmesg"]=$langs->trans("UserMustChangePassNextLogon");
- header('Location: '.DOL_URL_ROOT.'/index.php');
- exit;
+ return $login;
}
else
{
@@ -156,25 +151,6 @@ function check_user_password_ldap($usertotest,$passwordtotest)
if ($ldapdebug) print "DEBUG: pwdLastSet = ".dolibarr_print_date($ldap->pwdlastset,'day')."
\n";
if ($ldapdebug) print "DEBUG: badPasswordTime = ".dolibarr_print_date($ldap->badpwdtime,'day')."
\n";
- /*
- // On stop si le mot de passe ldap doit etre modifie
- if ($ldap->pwdlastset == 0)
- {
- session_destroy();
- dolibarr_syslog('User '.$login.' must change password next logon');
- if ($ldapdebug) print "DEBUG: User ".$login." must change password
\n";
- $ldap->close();
-
- // On repart sur page accueil
- session_name($sessionname);
- session_start();
- $langs->load('ldap');
- $_SESSION["dol_loginmesg"]=$langs->trans("UserMustChangePassNextLogon");
- header('Location: '.DOL_URL_ROOT.'/index.php');
- exit;
- }
- */
-
// On recherche le user dolibarr en fonction de son SID ldap
$sid = $ldap->getObjectSid($login);
if ($ldapdebug) print "DEBUG: sid = ".$sid."
\n";