Bonjour,

Le Sat, 28 Feb 2009 21:27:10 +0100, Johan Cwiklinski <jo...@x-tnd.be> a  
écrit :
> Salut,
>
> J'ai essayé de me coller un peu à la création d'une classe qui
> permettrai l'authentification sur Galette depuis un serveur LDAP...
Cool :) J'avais envoyé un mail un peu similaire en septembre sur LDAP  
(j'avais parlé d'aider, mais j'ai été un peu occupé justement à faire  
fonctionner le LDAP de notre asso entre autres - c'est maintenant  
fonctionnel, et j'ai un peu plus de temps maintenant). On se sert plutôt  
de Galette comme du fournisseur des données (pseudo, mdp), et Galette se  
sert de ses propres données pour l'authentification. Après les autres  
outils s'authentifient avec l'annuaire LDAP.

> J'ai un peu galéré, c'est la première fois que je me décide à installer
> un serveur LDAP. Bon, j'ai tout de même réussi à l'installer, le
> configurer, ajouter une entrée dedans et la retrouver depuis une classe
> PHP, je considère cela comme une grande victoire :-D
Effectivement, je confirme, la bête est corriace.

> Lors de mes recherches, et en en discutant avec des amis, je me suis
> rendu compte que nous aurons d'emblée à gérer le "problème" Active
> Directory (AD pour les intimes) ; qui semble mettre un point d'honneur à
> tout faire autrement que les autres.
> Tant que l'on reste sur des choses assez simplistes, on peut intégrer AD
> je pense. Par contre, si ça devient trop compliqué, il serait mieux
> qu'il ait sa propre classe ; et ce ne sera pas moi qui développerai ça.
> Je veux bien me mettre un minimum à LDAP pour l'intégrer dans Galette,
> mais AD requiert un serveur Windows que je n'ai pas, et je n'ai pas non
> plus envie d'apprendre ce machin là ;-)
Humm, connais pas.

> Je ne suis pas ce qu'on peut appeler un pro de LDAP, et je me demande
> quels sont les directives de configuration à proposer côté Galette pour
> que ça puisse fonctionner de manière générique, sur quel(s) champ(s)
> effectuer la recherche du login, comment  faire pour la vérification du
> mot de passe.
Généralement, les logiciels supportant LDAP (je connais Postfix,  
MediaWiki, LimeSurvey, Sympa [1]) ont pas mal de paramètres relatifs à  
LDAP, comme le DN de connexion, son mdp, l'attribut et l'emplacement où  
faire les recherches d'authentification, vérifier ou non les groupes (et  
donc paramètres associés).
Lors d'une authentification, les logiciels commencent par se connecter  
avec le DN de connexion (censé avoir les droits de lecture, voire  
d'écriture), recherche l'utilisateur, puis, s'il le trouve, vérifie le mdp  
(parfois se déconnecte du DN de connexion et tente de se reconnecter comme  
l'utilisateur pour vérifier le mdp). Pour ce que j'en ai compris.

> À priori, il faudra aussi songer à la gestion de groupes qui peut être
> différente d'une installation à l'autre (on peut par exemple stocker les
> groupes avec l'utilisateur, ou stocker les utilisateurs avec le groupe,
> ...). Bref, comment savoir qui dans l'annuaire peut avoir accès à  
> Galette.
>
> J'aurai bien besoin de retours des personnes intéressées par cette
> fonctionnalité, ou qui auraient un peu plus d'expérience que moi avec ce
> type de serveurs (ça ne doit pas être bien compliqué d'en avoir plus
> puisque je n'en ai pas :-p).
>
> Merci d'avance et bonne soirée,
> Johan
En fait, il faut voir si Galette se content de lire LDAP (pour  
l'authentification, voire pour certains champs adhérent) ou va plus loin  
en proposant d'écrire dans LDAP (des champs adhérents). Comme Galette est  
déjà en soi une forme d'annuaire, il pourrait y avoir une fusion/symbiose  
avec LDAP, et dans le cas extreme se passer quasiment complètement de  
MySQL et tout enregistrer dans LDAP. (De même que OpenLDAP propose de  
stocker les données soit en fichier texte, soit en base de données, soit  
dans un autre annuaire LDAP.)


Je peux aider, soit à coder des trucs, soit en partageant ce que j'ai  
appris sur LDAP et sur les authentifications.
Void quelques exemples de configs :
* MediaWiki : http://www.mediawiki.org/wiki/Extension:LDAP_Authentication
* Postfix : http://www.postfix.org/ldap_table.5.html
* Sympa : http://www.sympa.org/manual/authentication
* LimeSurvey : http://docs.limesurvey.org/tiki-index.php?page=LDAP+settings
Remarque : en anglais, on dit "authentication" et non "authentification"  
pour le nom de la classe, qui, du reste est un bon départ je trouve.
Pour information et comparaison, la classe AuthPlugin de MediaWiki (socle  
commun à l'authentification) :
http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/AuthPlugin.php?view=markup

Bonne soirée/journée,
Sébastien Beyou

_______________________________________________
Galette-devel mailing list
Galette-devel@gna.org
https://mail.gna.org/listinfo/galette-devel

Répondre à