[Corrigé 3.1.40] LDAP : synchronisation OK mais connection ne fonctionne pas

Vous avez trouvé un bug dans l'application (dernière version stable ou bêta): Décrivez le ici afin que la correction soit intégrée a la prochaine version.
risson
Gsup LEVEL 1
Messages : 15
Enregistré le : ven. 20 juil. 2018 15:05

Bonjour,

La synchronisation LDAP en utilisant le connecteur associé fonctionne mais lorsque j'essaye de me connecter en utilisant l'un des utilisateurs précédemment synchronisé, j'ai l'erreur "Error: Wrong login or password." pendant le login.
Voici mes réglages LDAP, même si le problème ne devrait pas être là, puisque la synchronisation fonctionne correctement :
Screenshot_20190313_080154.png
Screenshot_20190313_080154.png (28.04 Kio) Vu 7710 fois
Avec le mode débug activé, rien ne s'affiche. Les fichiers dans le dossier log/ à la racine restent vides.
D'après mon serveur LDAP, GestSup semble essayer d'authentifier mon utilisateur "marc.schmitt" ainsi "uid=marc.schmitt,ou=users,dc=lama-corp,dc=space", ce qui fait sens puisque mes username sont effectivement stockés dans l'attribut "uid" dans mon serveur LDAP. Cependant, j'ai remarqué que lorsqu'une autre application essaye d'identifier le même utilisateur, elles le font de cette manière : "cn=risson,ou=users,dc=lama-corp,dc=space" et l'authentification réussie.
Où est-ce que je fais quelque chose de travers ?
D'avance merci !
Marc 'risson' Schmitt
GestSup 3.1.41 | Arch Linux - NixOS 19.03 - Ubuntu 18.04 | nginx+mariadb+phpfpm
risson
Gsup LEVEL 1
Messages : 15
Enregistré le : ven. 20 juil. 2018 15:05

En fait, après d'autres tests, il semblerait que les autres applications sus-nommées s'authentifient en tant que l'utilisateur inscrit dans les réglages (le même que celui dans GestSup) et grâce à cet utilisateur ayant des droits administrateur, récupèrent les informations de l'utilisateur essayant de se connecter.
Marc 'risson' Schmitt
GestSup 3.1.41 | Arch Linux - NixOS 19.03 - Ubuntu 18.04 | nginx+mariadb+phpfpm
risson
Gsup LEVEL 1
Messages : 15
Enregistré le : ven. 20 juil. 2018 15:05

De plus, la connection via "cn=risson,ou=users,dc=lama-corp,dc=space" fonctionne correctement en utilisant une autre application
Marc 'risson' Schmitt
GestSup 3.1.41 | Arch Linux - NixOS 19.03 - Ubuntu 18.04 | nginx+mariadb+phpfpm
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour, pouvez vous transmettre un impression écran de votre page système. Et nous indiquer le type et la version du serveur LDAP.
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
risson
Gsup LEVEL 1
Messages : 15
Enregistré le : ven. 20 juil. 2018 15:05

LDAP server: OpenLDAP: slapd 2.4.47 (Jan 5 2019 14:30:03)
Screenshot_20190313_085848.png
Screenshot_20190313_085848.png (202.5 Kio) Vu 7706 fois
Marc 'risson' Schmitt
GestSup 3.1.41 | Arch Linux - NixOS 19.03 - Ubuntu 18.04 | nginx+mariadb+phpfpm
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

Je vais voir pour monter une infrastructure similaire, afin de reproduire le problème.

Pouvez vous en parallèle me transmettre le fichier de log d'erreur de votre serveur web et indiquer son nom et sa version.

Cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
risson
Gsup LEVEL 1
Messages : 15
Enregistré le : ven. 20 juil. 2018 15:05

nginx/1.15.9
Conf nginx joint
nginx-conf.zip
Configuration nginx divisée en multiples fichiers
(1.79 Kio) Téléchargé 432 fois
Bon à savoir: les mots de passe dans le serveur LDAP sont encodés en SHA.
Le log d'erreur ne reflècte rien après une tentative de connection.
Marc 'risson' Schmitt
GestSup 3.1.41 | Arch Linux - NixOS 19.03 - Ubuntu 18.04 | nginx+mariadb+phpfpm
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

pouvez vous tester l'installation du dernier patch stable 3.1.37 puis de modifier le fichier ./login.php

remplacer :

Code : Tout sélectionner

$ldapbind = @ldap_bind($ldap, "uid=$login,$rparameters[ldap_url]$dcgen", $pass);

par:

Code : Tout sélectionner

$ldapbind = @ldap_bind($ldap, "cn=$login,$rparameters[ldap_url]$dcgen", $pass);	
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
risson
Gsup LEVEL 1
Messages : 15
Enregistré le : ven. 20 juil. 2018 15:05

Après mise à jour et remplacement de la ligne indiquée, le problème persiste. La requête effectuée sur le serveur LDAP est maintenant bien "cn=marc.schmitt,ou=users,dc=lama-corp,dc=space", mais voici les attributes qui sont set dans mon serveur LDAP:
cn=risson
uid=marc.schmitt
Devrais-je faire correspondre ces attributs ?
Marc 'risson' Schmitt
GestSup 3.1.41 | Arch Linux - NixOS 19.03 - Ubuntu 18.04 | nginx+mariadb+phpfpm
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

je reproduis le problème de mon côté je travail sur un correctif et reviens vers vous.
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
Répondre