Not logged in. · Lost password · Register
Forum: Non-English Discussion French discussion RSS
Problème Connexion ldap [résolu]
Avatar
en3rgizz #1
Member for a month · 5 posts
Group memberships: Members
Show profile · Link to this post
Subject: Problème Connexion ldap [résolu]
Bonjour,

je rencontre un problème lors de la connexion de dokuWiki avec le plusgin auth ldap


voici le message
LDAP user to find: administrateur [auth.php:186]
LDAP Server: ldap://192.168.1.88 [auth.php:189]
LDAP Filter: (ObjectClass=*) [auth.php:200]
LDAP user search: Success [auth.php:202]
LDAP search at: ou=Utilisateur, dc=oldi, dc=fr (ObjectClass=*) [auth.php:203]
LDAP search returned 29 results while it should return 1! [auth.php:217]
Le nom d'utilisateur ou le mot de passe est incorrect.



je n'arrive pas à savoir d'ou vient le problème mon identifiant ainsi que mon mdp sont correct pourtant ainsi que ma config

Merci par avance
This post was edited on 2018-10-23, 12:43 by en3rgizz.
Avatar
sef13 #2
Member for a month · 1 post
Group memberships: Members
Show profile · Link to this post
Essaye avec ton compte admin de créer un utilisateur qui a le même nom d'utilisateur que dans l'annuaire ldap. Normalement ça te créer un compte avec toutes les informations de l'annuaire.
Avatar
schplurtz (Moderator) #3
Member since Nov 2009 · 299 posts · Location: France, Finistère
Group memberships: Global Moderators, Members
Show profile · Link to this post
In reply to post #1
Bonjour,

Le problème vient de là :
LDAP search returned 29 results while it should return 1! [auth.php:217]

29 réponses au lieu d'une seule. Ton filtre de recherche d'utilisateur est incorrect.


Peux-tu poster ta config ldap (sans les éventuels mot de passe bien sûr), elle
devrait se trouver dans le fichier conf/local.php ?
http://schplurtz.free.fr/wiki/
Avatar
schplurtz (Moderator) #4
Member since Nov 2009 · 299 posts · Location: France, Finistère
Group memberships: Global Moderators, Members
Show profile · Link to this post
Hum, en fait tu as posté ta config LDAP....

LDAP Filter: (ObjectClass=*) [auth.php:200]
Ce filtre retourne retourne chaque entrée de ton annuaire dont
l'attribut ObjectClass existe... Autant dire tout ton annuaire.

Voilà une partie de mon réglage. et ça fonctionne.
  1. # Les users sont dans l'ou nommé People. à adapter
  2. $conf['plugin']['authldap']['usertree'] = 'ou=People, dc=example, dc=com';
  3. # Les groupes sont dans l'ou nommé Group
  4. $conf['plugin']['authldap']['grouptree'] = 'ou=Group, dc=example, dc=com';
  5. # Filtrage double '&'.
  6. #   1) les users sont des PosixAccount. À adapter en fonction de ton annuaire
  7. #       et de la classe spécifique aux utilisateurs.
  8. #   2) c'est l'attribut uid qui contient le login des users...
  9. $conf['plugin']['authldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))';
  10. # groupfilter, ça peux dépendre de ce qui est dans ton annuaire, j'imagine.
  11. # Il me semble que soit on a l'attribut memberUID qui contient des uid
  12. # soit on a l'attribut member qui contient des dn.
  13. $conf['plugin']['authldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gidnumber})(memberUID=%{user})))';
  14. $conf['plugin']['authldap']['version'] = 3;
  15. $conf['plugin']['authldap']['userscope'] = 'one';
  16. $conf['plugin']['authldap']['groupscope'] = 'one';
http://schplurtz.free.fr/wiki/
Avatar
en3rgizz #5
Member for a month · 5 posts
Group memberships: Members
Show profile · Link to this post
Merci pour vos retour

@ sef13 : cela ne fonctionne pas des que j'active le ldap je suis déconnecter et impossible de me log.

@ schplurtz : je pense que le problème viens du filtre de recherche cj'ai essayer avec ta config

LDAP user to find: administrateur [auth.php:186]
LDAP Server: ldap://192.168.1.88 [auth.php:189]
LDAP Filter: (&(uid=administrateur)(objectClass=posixAccount)) [auth.php:200]
LDAP user search: Success [auth.php:202]
LDAP search at: ou=Utilisateur, dc=oldi, dc=fr (&(uid=administrateur)(objectClass=posixAccount)) [auth.php:203]
LDAP search returned 0 results while it should return 1! [auth.php:217]
Le nom d'utilisateur ou le mot de passe est incorrect.

quand je ne met aucun filtre de recherche il trouve 28 résultats des que je met un un filtre de recherche par défaut ou le tiens de ta config j'ai ce résultat.

ma config

$conf['plugin']['authldap']['server'] = 'ldap://192.168.1.88';
$conf['plugin']['authldap']['usertree'] = 'ou=Utilisateur, dc=domaine, dc=fr';
$conf['plugin']['authldap']['grouptree'] = 'ou=Users, dc=domaine, dc=fr';
$conf['plugin']['authldap']['userfilter'] = '(&(uid=%{user})(objectClass=posixAccount))';
$conf['plugin']['authldap']['groupfilter'] = '(&(objectClass=posixGroup)(|(gidNumber=%{gidnumber})(memberUID=%{user})))';
$conf['plugin']['authldap']['version'] = 3;
$conf['plugin']['authldap']['referrals'] = '0';
$conf['plugin']['authldap']['binddn'] = 'cn=admin, cn=Users, dc=domaine, dc=fr';
$conf['plugin']['authldap']['bindpw'] = '<b>mdpmdp';
$conf['plugin']['authldap']['userkey'] = '';
$conf['plugin']['authldap']['groupkey'] = '';
$conf['plugin']['authldap']['debug'] = 1;
$conf['plugin']['authldap']['modPass'] = 0;


Merci par avance
Avatar
schplurtz (Moderator) #6
Member since Nov 2009 · 299 posts · Location: France, Finistère
Group memberships: Global Moderators, Members
Show profile · Link to this post
Le truc est bien que ton filtre est incorrect. Déjà pourquoi mets tu les groupes dans l'ou Users ? Ne serait-ce pas plutôt tes utilisateurs qui devraient être là dedans au lieu d'être dans l'ou Utilisateur ?

@ schplurtz : je pense que le problème viens du filtre de recherche cj'ai essayer avec ta config
Il faut bien sûr mettre les valeurs qui correspondent à ton annuaire. J'ai l'impression que tu ne
sais pas très bien ce qui se trouve dans ton annuaire. C'est normal, ces trucs sont compliqués,
on se mélange vite les pinceaux. On pourrait passer 10000 ans à essayer de trouver les bonnes
valeurs. alors, je te propose de faire plus simple. Est-ce que tu peux poster ici le résultat (partiel)
d'une commande  ldapsearch

ldapsearch -h 192.168.1.88 -D cn=admin,cn=Users,dc=domain,dc=fr \
           -w 'TON-PASSWORD' -b dc=domain,dc=fr -s sub | grep ^dn
# ou peut-être même simplement
ldapsearch -h 192.168.1.88 -x -b dc=domain,dc=fr -s sub | grep ^dn
Il devrait apparaitre, entre autre, des choses comme ceci :
dn: uid=toto,ou=Users,dc=domain,dc=fr

Et puis ensuite, tu prends une ligne dn:  .... de compte d'utilisateur et tu copies ce qui est à droite de dn:
et tu tentes une commande de ce genre :
ldapsearch -h 192.168.1.88 -x -b uid=toto,ou=Users,dc=domain,dc=fr -s sub
# ou éventuellement
ldapsearch -h 192.168.1.88 -D cn=admin,cn=Users,dc=domain,dc=fr \
           -w 'TON-PASSWORD' -b uid=toto,ou=Users,dc=domain,dc=fr -s sub

Attention à bien retirer les informations sensibles à chaque fois.

Ça donnera déjà une première idée de ce qui se trouve dans ton annuaire et devrait permettre
de déterminer les paramètres pour les comptes d'utilisateurs.

/Schplurtz.
http://schplurtz.free.fr/wiki/
Avatar
en3rgizz #7
Member for a month · 5 posts
Group memberships: Members
Show profile · Link to this post
merci de ta réponse
par défaut les groupes était dans Users  j'ai juste créer un dossier pour séparer les utilisateurs des groupes (ou)

pour le compte admin (compte avec droit administrateur)

CN=Admin, CN=Users,DC=domaine,DC=fr

pour le compte utilisateur(toto1) (dans le domaine) créer pour le test

CN=toto 1,OU=Utilisateur,DC=domaine,DC=fr.


ce que je ne comprend pas c'est que je n'est aucun mal a connecter les autres application

exemple de ma configuration de "libertempo"
$config_ldap_server = "ldap://192.168.1.88";
$config_ldap_protocol_version = 3 ;   // 3 si version 3 , 0 sinon !
$config_ldap_bupsvr = "";
$config_basedn      = "dc=domaine,dc=fr";
$config_ldap_user   = "CN=Admin,CN=users,Dc=domaine,DC=fr" ;
$config_ldap_pass   = "********";
$config_searchdn    = "ou=Utilisateurs,dc=domaine,dc=fr";

$config_ldap_prenom = "givenname";
$config_ldap_nom    = "sn";
$config_ldap_mail   = "mail";
$config_ldap_login  = "samaccountname";
$config_ldap_nomaff = "displayName";
$config_ldap_filtre = "objectclass";
$config_ldap_filrech= "user";

Merci pour vos retours
Avatar
schplurtz (Moderator) #8
Member since Nov 2009 · 299 posts · Location: France, Finistère
Group memberships: Global Moderators, Members
Show profile · Link to this post
$config_ldap_login  = "samaccountname";
Il s'agit donc d'un AD. Pas étonnant que mon exemple ne fonctionne pas. Y'a probablement pas de posixaccount dans un AD. Il existe un module d'authentification spécial pour AD https://www.dokuwiki.org/plugin:authad

D'autre part, dans un post :
$conf['plugin']['authldap']['usertree'] = 'ou=Utilisateur, dc=domaine, dc=fr';
et dans ton dernier message
$config_searchdn    = "ou=Utilisateurs,dc=domaine,dc=fr";

alors, Utilisateurs ou Utilisateur ?


Enfin, en supposant que tu continues pour l'instant avec authLDAP, as tu vu que sur la page du module authAD https://www.dokuwiki.org/plugin:authldap , il y a un lien vers une page dédiée aux AD https://www.dokuwiki.org/plugin:authldap:ad . Peut-être que ça pourrait être utile ?, notamment, tout en bas, il y a un exemple réel qui fonctionne.
http://schplurtz.free.fr/wiki/
Avatar
en3rgizz #9
Member for a month · 5 posts
Group memberships: Members
Show profile · Link to this post
Merci pour tes réponses.

c'est bien un AD

c'est Utilisateur sans le s.

je regarde tout de suite le module ad et te tiens au courant.
merci encore à toi.
Avatar
en3rgizz #10
Member for a month · 5 posts
Group memberships: Members
Show profile · Link to this post
Un grand merci pour ton aide ce lien ma bien servi;

avec une petite modification et le tour et jouer.


$conf['authtype']                          = 'authldap';
$conf['plugin']['authldap']['server']      = 'ldap://192.168.1.88:389';
$conf['plugin']['authldap']['userfilter']  = '(&(objectClass=user)(sAMAccountName=%{user}))';
$conf['plugin']['authldap']['groupfilter'] = '(&(objectClass=*)(member=%{dn}))';
$conf['plugin']['authldap']['usertree']    = 'ou=Utilisateur,dc=Domaine,dc=fr';
$conf['plugin']['authldap']['grouptree']   = 'CN=Users,DC=Domaine,DC=fr';
$conf['plugin']['authldap']['binddn']      = 'CN=Admin,CN=Users,DC=Domaine,DC=fr';
$conf['plugin']['authldap']['bindpw']      = '**********mdp**********';
$conf['plugin']['authldap']['modPass']     = 0;

encore un grand merci pour l'aide apporter Schplurtz
Close Smaller – Larger + Reply to this post:
Verification code: VeriCode Please enter the word from the image into the text field below. (Type the letters only, lower case is okay.)
Smileys: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Special characters:
Go to forum
Imprint
This board is powered by the Unclassified NewsBoard software, 20150713-dev, © 2003-2015 by Yves Goergen
Current time: 2018-11-16, 21:53:06 (UTC +01:00)