Skip to main content Help Control Panel

YACS CMS : Open source !

Community «   Le forum «   Soupçons de bogues «  

8.4beta30.4: authentification ldap [Solved]

avatarLECLERCQ Johann -- on May 20 2008
Comment paramétrer, ordre des paramètres
  • May 20
    J'ai un problème d'intégration d'un annuaire LDAP avec YACS.
    Dans le fichier paramters/users.include.php,
    j'ai la ligne suivante :
    $context['users_authenticator']='ldap nom.serveur.ldap "uname cn=Reader,o=gouv,c=fr" "password xxxxx" "ou=personnes,o=gouv,c=fr"';



Or, les mêmes paramètres passent sur une autre appli php (GLPI) voir image jointe.
Pouvez-vous m'éclairer sur cette question? merci par avance.

Param-LDAP.jpg

Solution Manager: Alf83

Immediate solution has been provided
Alf83
25 posts

on May 20 2008


Est-ce que la ligne suivante marche ? Je soupçonne que les mots clés "uname" et "password" donnés dans la doc doivent être enlevés.
$context['users_authenticator']='ldap nom.serveur.ldap "cn=Reader,o=gouv,c=fr" "%u" "xxxxx" "ou=personnes,o=gouv,c=fr"';
D'autre part, le module LDAP me parait accepter une authentification si la recherche avec le filtre fourni et sous le bind donné, retourne un "cn". Il fraudra peut-être adapter les paramètres "%u" et le filtre pour aboutir au résultat.
Christian
avatar
from Chonas l'Amballan
Associate, 1063 posts

on May 20 2008


Bonjour et bienvenue dans le monde yacs.

Votre question est un peu une première car je n'ai pas connaissance de yacsiens qui l'utilisent.

Je pense néanmoins que Bernard Paques à du l'utiliser et j'espère qu'il passera bientôt vous éclairer sur le sujet

Et merci à Alf83 pour sa recherche/suggestion
Aikido44
avatar
12 posts

on May 21 2008


  • May 21
    Merci pour votre aide mais cela ne donne rien.
    Je m'aperçois que je n'ai pas été complet.
    L'erreur est la suivante : Impossible de s'associer au serveur LDAP xxxx.


Je ne sais même pas à quel niveau se situe le problème ! Où puis-je lire des logs de connexion au LDAP par YACS ?
Autre question : comment YACS sait-il dans quels champs de la base LDAP chercher le nom de l'utilisateur et son mot de passe ?

Par ailleurs, j'aimerais faire en sorte que la fonction "S'enregistrer sur ce serveur" soit désactiver et que seuls les users connus du LDAP puisse participer.

Merci de vos aides/éclaircissements !
Alf83
25 posts

inspired from aikido44 on May 21 2008


Aikido44 : Est-il possible de partager un extrait LDIF de l'arbre où les utilisateurs sont stockés (quitte à gommer les mots de passe). Cela pourrait peut-être inspirer des idées...
Aikido44
avatar
12 posts

on May 21 2008


  • May 21
    Voici un export ldif purgé des utilisateurs, j'ai laissé le début et le compte d'un utilisateur nettoyé par des "xxx" pour les données de type personnelle.
Merci pour votre aide.

dn: dc=drac,dc=fr dc: drac objectClass: dcObject objectClass: organization o: Company

dn: cn=Manager, dc=drac,dc=fr objectClass: organizationalRole cn: Manager

dn: ou=Hosts, dc=drac,dc=fr ou: Hosts objectClass: top objectClass: organizationalUnit description: OU Hosts

dn: ou=People, dc=drac,dc=fr ou: People objectClass: top objectClass: organizationalUnit description: OU People

dn: ou=Group, dc=drac,dc=fr ou: Group objectClass: top objectClass: organizationalUnit description: OU Group

dn: sambaDomainName=SAMBA, dc=drac,dc=fr sambaSID: S-1-5-21-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxx sambaNextRid: 1039 objectClass: sambaDomain sambaAlgorithmicRidBase: 1000 sambaDomainName: SAMBA

ZAPPE.......

dn: uid=NOM_FAMILLE,ou=People, dc=drac,dc=fr sambaLMPassword: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx sambaPrimaryGroupSID: S-1-5-21-xxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxx displayName: NOM_FAMILLE Prenom sambaLogonScript: heure objectClass: top objectClass: inetOrgPerson objectClass: posixAccount objectClass: sambaSamAccount userPassword:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= sambaLogonTime: 1177405230 mail: Prenom.NOM_FAMILLE@domaine_internet.fr uid: NOM_FAMILLE uidNumber: 1582 cn: NOM_FAMILLE Prenom sambaLogoffTime: 1150446397 sambaPwdLastSet: 1181293602 sambaAcctFlags: [UX ] loginShell: /bin/bash gidNumber: 1590 sambaNTPassword: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx sambaSID: S-1-5-21-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxx gecos: Samba User description: Agent de service homeDirectory: /home/NOM_FAMILLE sn: NOM_FAMILLE

ZAPPE...
Alf83
25 posts

inspired from aikido44 on May 21 2008


Aikido44 : Personnelement, j'essaierai la ligne ci-dessous (hypothèse, le username de connexion = NOM_FAMILLE). Pour debugger, il sera surement utile d'activer les logs de ton serveur ldap (par exemple, mettre "loglevel 127" sur openldap).
$context['users_authenticator']='ldap nom.serveur.ldap "ou=People,dc=drac,dc=fr" "uid=%u,ou=People,dc=drac,dc=fr" "%p" "(uid=%u)"';
Bernard
avatar
from nearby-an-airport
Associate, 7053 posts

on May 21 2008


Avec Alf83 vous êtes manifestement entre de bonnes mains...

Pour info, le plugin de connexion LDAP est le script PHP users/authenticators/ldap.php.

La sequence mise en oeuvre par YACS est la suivante :
  • connexion au serveur par ldap_connect()
  • authentification par ldap_bind()
  • recherche par ldap_search()


Les paramètres fournis au plugin sont utilisés comme suit :
  • "serveur", ou "serveur:port", comme par exemple "ldap.acme.org" - utilisé pour faire le ldap_connect() initial
  • préfixe pour les recherches LDAP - utilisé pour faire les ldap_search(), coinjointement avec le filtre
  • préfixe pour l'authentification LDAP - utilisé pour les ldap_bind() juste après la connexion, avec le mot de passe associé
  • mot de passe pour l'authentification LDAP - utilisé pour les ldap_bind() juste après la connexion, avec le mot de passe associé
  • filtre de recherche, utilisé comme troisième paramètre de ldap_search()


Le nom et le mot de passe fournis par l'utilisateur qui s'authentifie sont représentés respectivement par les chaînes %u et %p dans les paramètres listés ci-dessus.

Il n'y a pas de log côté yacs, mais un message explicite affiché à l'écran en cas d'erreur.
Aikido44
avatar
12 posts

on May 29 2008


  • May 29
    Bon je n'y arrive pas.
La connexion LDAP que je voudrais opérationnelle nécessite le passage d'un mot de passe pour atteindre la base LDAP et je ne vois pas comment faire.

Avec Yacs je n'y arrive pas. je viens de faire un test avec WordPress, c'est OK. Donc, cela vient de "l'accessibilité" de YACS par rapport à LDAP.

YACS reste un très bon produit par ailleurs. En entreprise, si le Pb du LDAP n'avait pas été bloquant, je le "sentais" bien supérieur à ce que je connais.

Je ne peux consacrer plus de moyens/temps sur cette question. Il faut donc que je fasse un choix. Ce ne sera pas YACS pour notre diffusion d'infos en interne !

Ce message n'est pas une critique négative. Il faut le prendre comme une information à intégrer pour bien prendre conscience de l'omni-présence de LDAP en entreprise, même si j'ai pu lire par ailleurs que c'était "Has been". Il faut bien différencier, l'aspect technique de la réalité du terrain.

Merci pour ce bon produit, je l'utiliserais probablement à titre perso car là, je n'ai pas besoin du LDAP

Bonne journée. -- Apprends comme si tu devais vivre pour toujours et vis comme si tu devais mourir ce soir ! proverbe tibétain.
Agnès
avatar
from le Grésivaudan (grenoble-chambéry)
Associate, 2241 posts

on May 30 2008


Aikido44 : Il n'y a aucun souci : on choisit avec les éléments dont on dispose.

Pour notre information, s'agit-il de la version 8.4 avec le patch LDAP fourni par Bernard Paques le 22 mai (un lien pour le télécharger est présent dans cet article) ?

Par ailleurs, FRANCOIS Alexandre vient de proposer un "patch du patch" pour régler un bug. Vous serait-il possible - si vous n'avez pas tout désinstallé - de nous dire si cela améliore votre situation ?

En vous remerçiant par avance pour ce test - si c'est possible - et de votre intérêt pour Yacs - en général
Alf83
25 posts

inspired from aikido44 on May 30 2008


Aikido44: normalement, Yacs remonte les éventuels messages d'erreur LDAP, dont le contenu permet d'orienter l'identification du problème. As-tu un exemple de message remonté à l'écran, lors d'un login infructueux ?
Aikido44
avatar
12 posts

on June 2 2008


  • Jun 02
    Merci à Alf83, Christian, Bernard et Agnès pour vos commentaires respectifs et ... constructifs.


la formule qui va bien dans mon cas est la suivante :
ldap nom.serveur.ldap "cn=Reader,o=gouv,c=fr" "MotDePasse" "ou=personnes,o=gouv,c=fr"
J'ai pris le dernier patch de Alf83 dit "du Patch du Patch" et cela fonctionne. Je vais pouvoir tester plus avant votre produit.
Continuez à développer ce produit qui est déjà fonctionnellement supérieur à ceux existants sur le marché du libre (genre DotClear et WordPress). Ce n'est pas du cirage de chaussures, c'est pas mon genre.

Pour conclure : Un proverbe tibétain à méditer !
Je vis quelque chose au loin et je crus que c'était un animal.
Je m'approchai et m'aperçus que c'était un homme.
Je m'approchai encore et je compris que c'était mon frère.

Bonne journée à tous.
Christian
avatar
from Chonas l'Amballan
Associate, 1063 posts

on June 2 2008


Merci surtout à alf83 . C'est un plaisir de mettre [résolu] sur ce problème !

 
Share
Information channels
Recent files