Module Ldap Dolibarr, identifiants utilisables tout en gardant le même mdp

Bonjour à tous,

Je suis en train de mettre en place la solution sur un serveur Debian13, php 8.4, dolibarr 22.0.4. J’ai un compte d’accès technique pour la jointure à notre OpenLdap.

Pour le moment j’ai réussi via le fichier conf.php + la manip sur la console d’administration à :

Conserver le mdp habituel des utilisateurs selon leur uid. J’ai auparavant créer l’utilisateur sur Dolibarr selon l’identifiant qui est son uid.

Sauf que… l’uid est vraiment pas sexy pour se connecter. J’aurais aimé prendre l’adresse mail ou quelque chose de similaire. Sauf qu’il est impossible de créer un identifiant avec une adresse mail sur le site, il refuse.

En fouillant sur l’annuaire j’ai trouvé une info qui me plairait : notre uhaPersonPrincipalName qui ressort un prenom.nom

Petit extrait de la config et message de debug lors de la connexion

$dolibarr_main_authentication='ldap,dolibarr';
$dolibarr_main_auth_ldap_host='ldaps://ldap.uha.fr';
$dolibarr_main_auth_ldap_port='636';
$dolibarr_main_auth_ldap_version='3';
$dolibarr_main_auth_ldap_servertype='openldap';
$dolibarr_main_auth_ldap_login_attribute='uhaPersonPrincipalName';
$dolibarr_main_auth_ldap_dn='ou=people,dc=uha,dc=fr';
$dolibarr_main_auth_ldap_filter='uhaPersonPrincipalName=%login%';
$dolibarr_main_auth_ldap_admin_login='uid=comptetechnique,ou=1,dc=uha,dc=fr';
$dolibarr_main_auth_ldap_admin_pass='mdpducomptetechnique';
$dolibarr_main_auth_ldap_debug='true';
$dolibarr_main_auth_ldap_search_user='1';

J’ai donc associé sur le site :

Puis j’ai crée le compte de la personne associée. Et lors de sa connexion :

DEBUG: Logging LDAP steps
DEBUG: Server:ldaps://ldap.uha.fr, Port:636, Protocol:3, Type:openldap
DEBUG: uid/samaccountname=uhaPersonPrincipalName, dn=ou=people,dc=uha,dc=fr, Admin:uid=comptetechnique,ou=1,dc=uha,dc=fr, Pass:coucou
DEBUG: connectBind
DEBUG: connectBind

Lorsque je vais sur la fiche de mon utilisateur il récupère l’intégralité de ses informations via l’annuaire ldap. Donc :

Connexion ok, récupération des données et infos ok, mais le bind coince car il veut absolument l’uid qui est une suite de chiffres et lettres…

Des idées pour avancer ? Est-ce un problème de config côté conf.php ou plutôt sur site ? Avez-vous déjà eu ce genre de soucis ? Faut-il que je vois pour modifier l’annuaire et faire figurer le uhaPersonPrincipalName dans le DN ?

Merci à tous pour vos éclairages :slight_smile:

Bonjour,

Ayant contribué a la maintenance du code LDAP de Dolibarr c’est un module pas toujours simple à mettre en œuvre mais tout à fait faisable.

Sauf évolution récente, ce module Dolibarr mérite sûrement quelques améliorations de son code…

Étant à destination d’entreprises ayant un annuaire d’utilisateurs et donc déjà une certaine taille, peut être que certains seraient prêts à y contribuer humainement et/ou financièrement ?

1 « J'aime »

Bonjour,

MAIN_LOGIN_BADCHARUNAUTHORIZED permet de configurer quels sont les caractères refusés dans les identifiants sur Dolibarr. Par défaut cela inclut @, mais on peut l’autoriser.
Dans ma config j’ai comme valeur '," pour autoriser les adresses email en tant qu’identifiant

1 « J'aime »

Hmmm, ça ne serait pas impossible effectivement. Pour le moment ça n’est pas un projet de grande envergure donc je doute une mise à disposition de moyen humains et financiers. J’ai également la solution de simplement créer des logins + mdp différents des habituels pour les futurs utilisateurs. Il ne s’agit donc ni d’une urgence ni d’une obligation ! Peut être avec un peu de chance dans les prochaines années.

Super merci !
Je viens d’ajouter les infos à la table nécessaire. J’ai pu créer un utilisateur au format [email protected] !! Première étape franchie :smiley:

Malheuresement ça coince toujours lors du bind, j’ai beau modifier le conf.php ou le site ça ne change rien.

Je vais me rapprocher de mes supérieurs pour ça, je pense qu’il faut autoriser les bind via email ou uhaPersonPrincipalName dans l’annuaire openldap.

Un très grand merci pour ce coup de pouce déjà !

Edit : Alors en fait si je rentre d’un côté mail et de l’autre côté email forcément ça devient plus compliqué…

J’ai testé chez moi + chez mon responsable, on conserve les logins et mdp habituels !

Un énorme coeur pour le coup de main <3