Spip et l’authentification LDAP
Spip permet d’authentifier les auteurs du site sur un annuaire LDAP. Ainsi, l’auteur n’a pas besoin de mémoriser un nouveau couple login/mot de passe d’identification pour accéder à l’interface d’administration du site.
Une fois la première authentification réussi, l’auteur est alors référencé dans la base de données de Spip avec le droit d’accès par défaut tel que défini à la configuration du site. On peut alors modifier ses droits d’accès sur le site.
Plus d’information sur l’accès LDAP ici.
Objectif du plugin
Ce plugin permet à partir d’une recherche sur l’annuaire LDAP de “pré-enregistrer” les auteurs.
Ainsi, l’administrateur du site peut commencer à attribuer des droits personnalisés sans avoir a attendre la première connexion de l’auteur.
Versions du plugin
Ce plugin est disponible :
- en version stable pour SPIP 1.9,
- en version de test (depuis le 25 janvier 2009) pour SPIP 2.0.
Pré-requis
Un site Spip avec l’accès LDAP configuré.
Installation
- Télécharger le plugin pour la version de Spip utilisée (voir les “Documents joints” ci-dessous).
- Se reporter à la page http://www.spip.net/fr_article3396.html pour l’installation
Utilisation
Une fois le plugin activé, se connecter en tant qu’administrateur du site. Dans le sous-menu “Auteurs”, le logo du plugin doit apparaître.
- Etape 1
Saisissez le filtre Ldap a utiliser pour la recherche.
Attention !!!
Des filtres comme (objectClass=*) renvoient l’ensemble des entrées LDAP.
Quelques exemples de filtres :
Filtre | Commentaire |
---|---|
(mail=*@domaine.net) | Toutes les entrées dont l’attribut mail fini par @domaine.net |
(&(l=Toulon)(objectClass=person)) | Toutes les entrées de type “person” dont la localisation est Toulon |
(ou=Service*) | Toutes les entrées appartenant au service “Service” |
Contacter votre responsable d’annuaire pour avoir les spécifications complètes des schémas utilisés.
Dans un but de performance, il est conseillé de se baser sur des attributs indexés.
- Etape 2
L’étape 2 vous présente la liste des entrées Ldap qui corrspondent au critère de recherche.
Vous avez la possibilité de valider le filtre (ajouter toutes les entrées comme auteur), ou sélectionner individuellement les entrées qui vous intéressent pour les ajouter en tant qu’auteur.
- Etape 3
Cette étape vous présente un compte-rendu des actions opérées.
L’animation flash ci-dessous montre un exemple d’utilisation
Limitations
- Si l’attribut mail est multivalué, des incohérences de données peuvent se produire.
- Le plugin a fonctionné correctement lors de l’importation de 600 auteurs. Le service Ldap (slapd) étant hébergé sur la même machine que le serveur Web.
Prévision d’évolutions
- Attribuer un droit différent de celui défini lors de la configuration de l’accès Ldap.
- Notifier les nouveaux inscrits par email.
Discussions by date of activity
14 discussions
Bonjour.
Les étapes 1 et 2 sont passées sans problème, malheureusement, problème dans l’étape 3 : il reconnait bien les doublons mais n’arrive pas a insérer les nouveaux auteurs (icone : échec de l’insertion).
A votre avis, cela vient-il de ma base SPIP, est-ce dû a l’annuaire LDAP (dn ou cn) ou à un problème de configuration ?
Merci d’avance.
Reply to this message
Bonjour,
Je tourne sur Spip 2.1 et j’ai une question concernant le filtrage de mes utilisateurs.
Le peuplement fonctionne très bien seulement je ne voudrai ouvrir l’accès au site qu’à une partie de mon ldap or à l’heure actuelle tout mon ldap est authorisé sachant que j’ai bien ma liste d’auteurs sur spip correspondant au groupe du ldap voulu (via le filtre initial).
Cordialement.
Je me réponds, la source trouvée là : http://forum.spip.org/fr_232620.html
fichier ecrire/auth/ldap.php
ligne 162 : remplacer “objectClass=*” par son filtre.
Pourrait-on l’ajouter en variable dans une prochaine version ?
Cordialement.
Reply to this message
Bonjour,
je tenais d’abord à vous remercier pour ce plugin, qui nous soulage d’une tâche fastidieuse.
J’ai encore un petit soucis, mais je ne sais pas si c’est lié à votre plugin ou à un autre :
j’arrive à importer grâce à votre plugin (version 2.0.0) les utilisateurs suivant le filtre qui va bien.
J’utilise aussi le plugin Accès restreint (version 3.3.1) pour ne donner l’accès de différentes parties du site qu’à certaines personnes.
J’ai pu ajouter tous les utilisateurs importés grâce à votre plugin dans la liste des personnes autorisées. Par contre, il se passe quelque chose que je ne comprends pas :
la première fois que la personne va essayer de se connecter avec son identifiant ldap, cela va l’enlever de la liste des personnes autorisées. Il faut alors que je la rajoute manuellement pour qu’il puisse utiliser son identifiant ldap.
Pensez-vous que cela vienne d’une mauvaise communication entre les deux plugins?
Merci d’avance pour votre aide.
Reply to this message
Bonjour,
J’ai trouvé un lien avec les modifs
https://www.assembla.com/code/spip-zone/git/changesets/014cdaaf49f616d2a085f3e0cc778cffe22e0066
cool ça marche pour 2.1.8
Adaptation du peuplement LDAP à SPIP 2.0.10 (disparition de auth_ldap_inserer, trop restrictive).
c’est la fonction ci-dessous qui est modifiee dans:
Peuplement_LDAP/inc/peuplement_ldap_common.php
le fichier entier ici: https://www.assembla.com/code/spip-zone/git/nodes/_plugins_/Peuplement_LDAP/spip-2.0/Peuplement_LDAP/inc/peuplement_ldap_common.php?rev=014cdaaf49f616d2a085f3e0cc778cffe22e0066
bizarre de mon coté avec les modifs proposées ca ne fonctionne pas bien
les auteurs sont bien importés je ne récupère ni le login , ni la bio. ce qui rend les authentifications impossibles
Ton authentification marche bien sur le ldap? (sans imports)
oui après vérification sur spip 2.0 et spip 2.1.10
meme les champs étendus sont importés avec spip 2.1
Reply to this message
Bonjour,
après avoir coché les entrées et cliqué sur le bouton Valider la sélection, j’obtiens une erreur :
Fatal error : Call to undefined function auth_ldap_inserer() in /var/www/plugins/Peuplement_LDAP/inc/peuplement_ldap_common.php on line 140
pb de lien impossible de récupérer la modif
Est que quelqu’un pourrait la mettre à disposition
merci
Reply to this message
Bonjour,
Suite à l’installation de SPIP 2.1.2 et du plugin ’Peuplement Ldap’, je n’arrive pas à accéder à l’interface de configuration et j’ai le message suivant:
Fichier configurer_PeuplementLdap introuvable
Donc je ne peux pas aller plus loin pour avec le plugin ’Ldap++’ !!! je voulais exploiter et profiter de mon annuaire LDAP en place...
Merci de me dire si vous avez une idée!
Cordialement,
Richard
Reply to this message
je viens de le tester avec spip 2.1.1
ca fonctionne bien
en liaison avec ldap++ et groupes_auteurs2 version spip2.1.1 (bientot sur contrib) c’est super
Reply to this message
Bonjour,
J’utilise SPIP 2.1, j’ai installé le plugin, mais il est impossible quelque soit mon filtre de le faire fonctionner, ma connexion au serveur ldap échoue.
Ce plugin fonctionne t il si mon ldap est sur une autre machine ? Si oui, comment lui donner l’adresse IP du serveur et lui préciser le dn ?
Merci
Bonjour,
Bon il fonctionne correctement. Il fallait repartir depuis l’installation pour activer le ldap.
Maintenant mon souci est que je me retrouve avec des fois des utilisateurs en doublons après importation depuis mon LDAP, pourtant je n’ai pas de doublons dans LDAP. De ce fait, vu qu’ils auront un accès restreint, ça pose souci.
Pour certains utilisateurs, quand je fais modifier auteur, il n’y a rien dans le login du user et du coup, il ne peuvent pas se connecter. Et pour d’autres j’ai bien un login (cn du ldap).
Que faire ?
Merci
Personne n’a d’idées ?
Reply to this message
Bonjour,
Je suis novice et j’essaye d’utiliser le plugin peuplement ldap.
J’utilise spip 2.0.10 et le plugin pour 2.0.
L’installation de spip avec ldap c’est bien passé.
Dans l’espace privé j’ai bien le plugin dans le menu auteur.
Par contre si je lance le filtre (mail=*), il n’y a aucun résultat d’affiché...
Je ne comprends pas, normallement tout le contenu du répertoire ldap devrait s’afficher, non?
Est ce que j’aurais oublié qq chose?
Faut-il une config speciale?
Pour info, j’ai refusé l’inscription des visiteurs et des auteurs.
Merci de votre aide.
Arale
Même symptôme sous 2.0.10 ! Installation ok, mais le filtre ne semble pas se déclencher (je clique sur valider mais rien ne se passe) !
Bonjour,
même sans la modification nécessaire pour Spip 2, la liste des entrées Ldap correspondant au filtre devrait apparaître...
- Est-ce que l’accès Ldap est bien configuré ? (un compte de l’annuaire peut-il s’authentifier ?)
- Est-ce qu’avec un client Ldap (la commande ldapsearch par exemple), le filtre fonctionne bien ?
Cordialement.
En effet, une personne de l’annuaire ne peut pas se connecter. Je vais regarder d’ou ca peut venir.
C’est la version pour spip 2 qui est installée en auto.
Oui
Oui
Bon, j’ai un premier élément de réponse...
En fait, mon serveur web est situé derrière un reverse proxy (RP).
Et quand j’attaque directement le serveur web physique, le plugin fonctionne, alors que si je passe par le RP rien ne s’affiche !
Est-ce que quelqu’un aurait une idée de ce qui “cloche”, sachant que la traversée du RP est à priori transparente et que d’ailleurs tout le reste du site fonctionne normalement (ce qui laisse supposer que c’est une spécificité du fonctionnement du plugin qui fait que ça marche pas dans ce cas là).
Le RP fait-il du cache ?
L’url pour les trois étapes de l’importation des auteurs est la même : #URL_SITE_SPIP/ecrire/?exec=peuplement_ldap .
D’après votre premier post, on dirait que la page est prise dans le cache : “(je clique sur valider mais rien ne se passe)” .
Vous utilisez le mod_proxy d’Apache (et si oui, quelle version d’Apache) ?
Bon, j’ai trouvé !!!! (ça m’a pris du temps mais bon)...
Dans le fichier inc/peuplement_ldap_common.php ligne 20 il y a une faute de html (sans doute de frappe):
le dernier / à la fin n’est pas conforme ! Il indique en effet que la balise est ouvrante et fermante en même temps, ce qui n’est pas le cas car il y a une balise fermante
plus bas. Du coup le html généré n’est pas conforme.
Le module mod_proxy_html corrige les pages automatiquement (j’y peux rien, même si je trouve ça un peu trop intrusif) et du coup il remplace le
/>
par></form>
ce qui fait que le bouton de validation se retrouve hors formulaire et donc sans effet !Voila, une petite correction de pas grand chose !
F.
j’ai testé sur spip 2.1
L’authentification ldap installée, fonctionnelle, je n’arrive à rien obtenir via ce plugins.
J’obtiens le message suivant :
Fatal error: Call to undefined function auth_ldap_connect() in /home/kwartz/www/extranetwork/ecrire/base/connect_sql.php on line 220
voici les lignes 217 à 220
// compatibilite
function spip_connect_ldap($serveur=’’)
include_spip(’auth/ldap’);
return auth_ldap_connect($serveur);
Si quelqu’un a une idée du bug ??
Problème résolu; incompatibilité avec ldap++ !
en fait, ce n’est pas un bug.
le include_spip(auth/ldap) va chercher le premier fichier ldap.php dans un répertoire auth.
Il se trouve que ce fichier sera plugin/auto/ldap_plus_plus/auth/ldap.php au lieu de ecrire/auth/ldap.php qui lui contient bien la fonction.
En attendant de faire mieux, j’ai simplement copié la fonction attendue dans le fichier ldap.php du plugin ldap++ et tout re-fonctionne bien. Par contre, ce n’est pas très propre.
J ai un problème avec la version 2.1 ...
au moment d’ajouter l’utilisateur il y a l erreur suivante “..... Call to undefined function auth_ldap_inserer() .....”
En effet la fonction auth_ldap_inserer a ete supprimé dans la v 2.1 ... mais comment on insert un utilisateur alors ???
Reply to this message
Salut
Sur un SPIP 2.0.10 [14698], avec le plugin peuplement ldap (dispo sur cette page) activé, après avoir coché des entrées et cliqué sur le bouton Valider la sélection, j’obtiens une erreur :
Fatal error: Call to undefined function auth_ldap_inserer() in /var/www/plugins/Peuplement_LDAP/inc/peuplement_ldap_common.php on line 140
Quelq’un a-t-il déjà eu cette erreur ? comment peux-t-on la résoudre
Merci
Cette fonction a disparu lors du dépôt 14622, qui vise à optimiser le nombre de requêtes infructueuses au serveur LDAP. Il faudrait que l’auteur de ce plugin remplace l’appel à cette fonction par sa définition, très courte, qu’on peut retrouver dans les anciennes versions.Du coup, le plugin sera compatible avec toutes les versions 2.0.
Bon, j’ai fait la modif à récupérer ici,
en espérant que j’ai bien compris de quoi il retournait. En l’état ce ne sera pas compatible avec les versions antérieures, il y a plus de boulot à faire.
Super
Merci pour la correction, elle fonctionne parfaitement
Bonjour,
J’ai tenté de récupérer le correctif mais il semble avoir disparu du site :
Est-ce qu’il serait possible de l’avoir par un autre moyen ?
Cordialement,
Juliette
Reply to this message
Add a comment
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Follow the comments:
|
