You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2007-04-11 12:44:13

123christophe
Member
Registered: 2007-04-11
Posts: 11

Group Ldap recherche filtre sur uid et non sur dn utilisateur.

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

#2 2007-04-11 16:15:00

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Group Ldap recherche filtre sur uid et non sur dn utilisateur.

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 wink

Offline

#3 2007-04-11 17:25:24

123christophe
Member
Registered: 2007-04-11
Posts: 11

Re: Group Ldap recherche filtre sur uid et non sur dn utilisateur.

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

#4 2007-04-11 17:36:01

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Group Ldap recherche filtre sur uid et non sur dn utilisateur.

j'ai pas le code de la 0.68 sous les yeux, mais sur la 0.70, la variable $login devrait faire l'affaire wink

Offline

#5 2007-04-11 17:57:24

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Group Ldap recherche filtre sur uid et non sur dn utilisateur.

ok bon à tester, je viens de faire la modif sur la 0.70

Offline

#6 2007-04-11 18:03:51

123christophe
Member
Registered: 2007-04-11
Posts: 11

Re: Group Ldap recherche filtre sur uid et non sur dn utilisateur.

ben non ! $login marche pas ...
Christophe

Offline

#7 2007-04-11 18:05:23

wawa
GLPI-DEV
From: Montpellier / France
Registered: 2006-07-03
Posts: 6,019
Website

Re: Group Ldap recherche filtre sur uid et non sur dn utilisateur.

normal, ton filtre je pense que c'est plutôt : (&(objectClass=posixGroup)(memberUid=uid=123christophe)

Offline

#8 2007-04-12 09:11:39

123christophe
Member
Registered: 2007-04-11
Posts: 11

Re: Group Ldap recherche filtre sur uid et non sur dn utilisateur.

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

#9 2007-04-12 09:37:10

123christophe
Member
Registered: 2007-04-11
Posts: 11

Re: Group Ldap recherche filtre sur uid et non sur dn utilisateur.

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

Board footer

Powered by FluxBB