Fix: on vérifie si le user existe

This commit is contained in:
Regis Houssin 2008-01-04 22:38:36 +00:00
parent 6269a9b353
commit cadb9efdf9
2 changed files with 10 additions and 5 deletions

View File

@ -111,7 +111,7 @@ function check_user_password_ldap($usertotest,$passwordtotest)
{ {
$resultFetchLdapUser = $ldap->fetch($_POST["username"]); $resultFetchLdapUser = $ldap->fetch($_POST["username"]);
// On stop si le mot de passe ldap doit etre modifie sur le domaine // On stop si le mot de passe ldap doit etre modifie sur le domaine
if ($resultFetchLdapUser == 1 && $ldap->pwdlastset <= 0) if ($resultFetchLdapUser == 1 && $ldap->pwdlastset == 0)
{ {
dolibarr_syslog('functions_ldap::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<br>\n"; if ($ldapdebug) print "DEBUG: User ".$login." must change password<br>\n";

View File

@ -872,18 +872,22 @@ class Ldap
$i = 0; $i = 0;
$searchDN = $this->people; $searchDN = $this->people;
$result = '';
while ($i <= 2) while ($i <= 2)
{ {
$this->result = @ldap_search($this->connection, $searchDN, $filter); $this->result = @ldap_search($this->connection, $searchDN, $filter);
if (!$this->result) if ($this->result)
{
$result = @ldap_get_entries( $this->connection, $this->result);
}
else
{ {
$this->error = ldap_errno($this->connection)." ".ldap_error($this->connection); $this->error = ldap_errno($this->connection)." ".ldap_error($this->connection);
return -1; return -1;
} }
$result = @ldap_get_entries( $this->connection, $this->result);
if (!$result) if (!$result)
{ {
// Si pas de résultat on cherche dans le domaine // Si pas de résultat on cherche dans le domaine
@ -914,6 +918,7 @@ class Ldap
$this->uacf = $this->parseUACF($this->ldap_utf8_decode($result[0]["useraccountcontrol"][0])); $this->uacf = $this->parseUACF($this->ldap_utf8_decode($result[0]["useraccountcontrol"][0]));
$this->pwdlastset = ($result[0]["pwdlastset"][0] != 0)?$this->convert_time($this->ldap_utf8_decode($result[0]["pwdlastset"][0])):0; $this->pwdlastset = ($result[0]["pwdlastset"][0] != 0)?$this->convert_time($this->ldap_utf8_decode($result[0]["pwdlastset"][0])):0;
if (!$this->name && !$this->login) $this->pwdlastset = -1;
$this->badpwdtime = $this->convert_time($this->ldap_utf8_decode($result[0]["badpasswordtime"][0])); $this->badpwdtime = $this->convert_time($this->ldap_utf8_decode($result[0]["badpasswordtime"][0]));
ldap_free_result($this->result); ldap_free_result($this->result);