You are not logged in.
Pages: 1
Topic closed
Bonjour,
Depuis la mise à jour à la version 0.78.1 les nouveaux utilisateurs ne sont plus reconnus, leur compte est bien créé en base de données mais aucune information n'est récupéré depuis le LDAP. Leur profil est vide et ils n'ont aucun droit.
J'ai l'impression qu'un ou plusieurs refactoring se soient mal passés https://forge.indepnet.net/projects/glp … v_to=11229
J'ai corrigé ça et supprimé une variable inutile dans ce patch (basé sur la branche 0.78-bugfixes du svn).
Index: auth.class.php
===================================================================
--- auth.class.php (revision 13627)
+++ auth.class.php (working copy)
@@ -517,12 +517,11 @@
if ($this->getAlternateAuthSystemsUserLogin($authtype)
&& !empty($this->user->fields['name'])) {
- $user = $this->user->fields['name'];
+ $login_name = $this->user->fields['name'];
// Used for log when login process failed
- $login_name = $user;
$this->auth_succeded = true;
$this->extauth = 1;
- $this->user_present = $this->user->getFromDBbyName(addslashes($user));
+ $this->user_present = $this->user->getFromDBbyName(addslashes($login_name));
$this->user->fields['authtype'] = $authtype;
// if LDAP enabled too, get user's infos from LDAP
$this->user->fields["auths_id"] = $CFG_GLPI['authldaps_id_extra'];
@@ -537,23 +536,24 @@
$ldap_method["deref_option"]);
if ($ds) {
+ $params['value'] = $login_name;
$params['method'] = AuthLdap::IDENTIFIER_LOGIN;
$params['fields'][AuthLdap::IDENTIFIER_LOGIN] = $ldap_method["login_field"];
$user_dn = AuthLdap::searchUserDn($ds,
array('basedn' => $ldap_method["basedn"],
'login_field' => $ldap_method['login_field'],
'search_parameters' => $params,
- 'user_params' => $user,
+ 'user_params' => $params,
'condition' => $ldap_method["condition"]));
if ($user_dn) {
- $this->user->getFromLDAP($ds, $ldap_method, $user_dn, $user);
+ $this->user->getFromLDAP($ds, $ldap_method, $user_dn['dn'], $login_name);
}
}
}
}
// Reset to secure it
- $this->user->fields['name'] = $user;
+ $this->user->fields['name'] = $login_name;
$this->user->fields["last_login"] = $_SESSION["glpi_currenttime"];
} else {
Il ne devrait théoriquement pas y avoir d'effet de bord.
En espérant que mon patch soit accepté pour la 0.78.2
Bonne fin de semaine et merci pour votre boulot !
Offline
Est-ce que vou spouvez simplement tester avec la version 0.78.1 bug fix qui inclus déjà des corrections à ce niveau là ?
Par exemple celle-là :
https://forge.indepnet.net/tarballs/glp … 17.tar.bz2
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
je confirme le soucis.
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
correction incluse pour la 0.78.2
https://forge.indepnet.net/issues/2587
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
Pages: 1
Topic closed