You are not logged in.
Bonjour
Lors de la création des groupes depuis le ldap, je contaste, dans les logs, que le filtre de recherche est basé sur le dn utilisateur :
filter="(&(objectClass=posixGroup)(memberUid=cn=123christophe nom,ou=A,ou=personne,dc=toto,dc=fr))"
l'enregistrement des groupes dans mon ldap est de ce type :
dn: cn=nom_grp,ou=groupe,dc=toto,dc=fr
objectClass: top
objectClass: posixGroup
description: groupe
cn: nom_grp
gidNumber: 2034
memberUid: toto
memberUid: tata
memberUid: 123christophe
...
Ma question est la suivante :
Comment faire pour que la recherche s'effectue sur l'uid :
(&(objectClass=posixGroup)(memberUid=123christophe)
et non sur le dn :
(&(objectClass=posixGroup)(memberUid=cn=123christophe,ou=A,ou=personne,dc=toto,dc=fr))
Merci
Christophe
Conf:. GLPI 0.68.3, OS Debian Etch ,Openldap
Offline
Bonjour,
à l'heure actuelle on fait des recherches que sur le userdn donc en 0.68.3 c'est pas possible sans modifier du code
je vais voir si je peux rajouter une option posixGroup pour la 0.70
Offline
He bien allons y pour le code ;-) En attendant la 0.7 ...
dans user.class.php nous avons en ligne 484 :
$v2 = $this->ldap_get_user_groups($ldapconn,$cfg_glpi["ldap_basedn"],$user_dn);
que je modifie par
$user_tmp="123christophe" ;
$v2 = $this->ldap_get_user_groups($ldapconn,$cfg_glpi["ldap_basedn"],$user_tmp);
La synchro s'effectue correctement lors de la connection de l'utilisateur 123christophe
Reste à savoir quelle est la variable du login utilisateur ?
Je cherche mais si vous l'avez quelque part ....
Christophe
Offline
j'ai pas le code de la 0.68 sous les yeux, mais sur la 0.70, la variable $login devrait faire l'affaire
Offline
ok bon à tester, je viens de faire la modif sur la 0.70
Offline
ben non ! $login marche pas ...
Christophe
Offline
normal, ton filtre je pense que c'est plutôt : (&(objectClass=posixGroup)(memberUid=uid=123christophe)
Offline
Bonjour ,
le filtre doit etre :
(&(objectClass=posixGroup)(memberUid=123christophe))
La valeur de l'attribut memberUid est 123christophe
Dans les logs syslog
j'obtiens avec la variable $login ou la variable $name
(&(objectClass=posixGroup)(?=undefined))
Une idée ?
Offline
Bien mieux reveillé ce matin,
Voici la solution que j'ai mis en place pour la synchro des groupes Posix:
Dans le fichier user.class.php
En ligne 436 j'ajoute la ligne suivante afin de recupèrer l'uid de l'utilisateur
$user_uid = $v[0]['uid'][0];
En ligne 488 je change $user_dn par $user_uid et ça roule
$v2 = $this->ldap_get_user_groups($ldapconn,$cfg_glpi["ldap_basedn"],$user_uid);
Merci et bonne journée
Christophe
Offline