[Résolu] LDAP - Récupération des informations des utilistateurs

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,
Sous Drupal 7, j'utilise le module LDAP.
Il fonctionne très bien pour l'authentification et l'affectation des rôles en fonction des informations présentes dans notre LDAP. Cependant, il ne récupère que le login et le mail de l'utilisateur.

J'aimerais récupérer d'autres informations du LDAP pour les mettre dans Drupal comme le nom et le prénom de l'utilisateur.

J'ai utilisé le module Feeds afin de pouvoir récupérer les champs du LDAP dans Drupal, cela fonctionne quand je lance l'importation que j'ai créé mais je n'arrive pas à trouver le moyen qu'il me fasse cette importation en automatique lors de la connexion d'un utilisateur.

Avez vous une idée sur comment je peux faire pour qu'à chaque fois qu'un utilisateur se connecte, ses informations, et uniquement les siennes, soient mise à jour dans Drupal ?
J'espère avoir été claire dans mes explications ;)

Merci pour votre aide.

Fichier attachéTaille
Icône image MappingLDAP.png29.71 Ko
Version de Drupal : 
Tags : 

Bonjour alf_78,
le sous module ldap_authorisation de LDAP m'a permis de récupérer les informations comme nom et prénom et de peupler automatiquement les champs prénom et nom du profil utilisateur grâce à des jetons fournies par ldap.
as tu essayé de ldap_authorisation et token ?

ps : dans mon cas je n'utilise pas LDAP pour l'authentification mais simplement pour récupérer les données. j'utilise le sso CAS pour la partie authentification.

Salut @ismaeil_ et merci pour ta réponse.
Effectivement, j'ai bien une section authorisation dans laquelle j'ai déjà définie une règle qui permet, en fonction des informations d'un champs ldap, de définir le role de l'utilisateur.
Mais je ne vois pas où l'on peut rajouter une authorisation supplémentaire et notamment le moyen de lui indiquer quelles sont les champs qui peuvent récupérer.
Token est bien installé sur mon site mais aucun information sur les champs disponible lors de la configuration d'une authorisation
Pourrais tu me faire une impression écran de ta config pour les informations des utilisateurs ?

Bonjour alf_78,

Assure toi d'abord de récupérer des infos LDAP dans admin/config/people/ldap/servers en faisant le test de récupérer les infos LDAP d'un utilisateur. Dans mon cas ça donne ça http://yfrog.com/155dzp et c'est le dernier attribut qui m'intéresse pour créer/affecter le rôle drupal : 'suppanaffectation'

je configure donc ldap_athorization comme suit :

http://yfrog.com/jajnp3p
http://yfrog.com/1f7gkp
http://yfrog.com/5e6zrp
http://yfrog.com/n547yp

voilà bonne chance

Merci @ismael_ pour tes impressions écrans.
J'ai enfin compris où récupéré les informations TOKEN sur les champs.
J'arrive bien à affecter les rôles à mes utilisateurs en automatique avec LDAP-Authorization. Mais je ne vois pas comment affecter un champs du LDAP à un champs de Drupal ?
Une idée ?

Bonjour,
Je me permet de me greffer sur cette discussion car j'ai beau procéder de la même manière les infos ldap ne remontent pas dans mon cas.
Est-ce que je pourrais voir la configuration de ton "Profile mapping" dans ton module LDAP ?
Merci.

Salut Glouf !
En fait, pour pouvoir faire le mapping, il faut au préalable créé des champs supplémentaire dans les contacts pour stocker les informations du LDAP
Pour ma part, j'ai créé un champs Nom et Prénom.
J'ai mis une impression écran de mon mapping dans mon message initial.

Merci pour ta réponse.
Le soucis c'est que je pense avoir fait ça correctement.
Je mets 3 copies d'écrans :
Mes champs sont bien créés :
http://nsa29.casimages.com/img/2012/05/25/120525111508580407.png
Le mapping :
http://nsa30.casimages.com/img/2012/05/25/120525111225377076.png
Et un extrait du "sample user" pour montrer que mon ldap est bien configuré :
http://nsa29.casimages.com/img/2012/05/25/120525111238460757.png

Je ne sais pas si c'est le même cas que moi mais le site a commencé à enregistrer mes utilisateurs sans toutes les informations.
C'est dans un deuxième temps que j'ai ajouté les champs nom et prénom.
Pour pouvoir les mettre à jour en masse ... ba j'ai pas réussi :(
Ma base se met à jour à chaque connexion des utilisateurs et enregistre leur nom et prénom.
Tout ca pour te dire que le fait de faire un mapping ne met pas à jour tes infos de ta base automatiquement, cela se fait au fil des connexions des utilisateur.

Est ce que lorsqu'un utilisateur se connecte, ses données sont mises à jour ?

Non ça ne se met pas à jour.

En fait, j'ai une installation en production depuis un bon moment qui fonctionnait très bien en Drupal 6. J'avais eu du mal à le faire fonctionner car les modules n'étaient pas encore bien développé à l'époque.
Il y-a 15 jour j'ai du mettre à jour mon php pour passer en 5.3 et c'est là que le drame "survint"...
Plutôt que de bidouiller dans tous les sens mon drupal 6 j'ai donc installé à côté un Drupal 7 "tout neuf" et là c'est pareil, avec pourtant des modules à jour, ça ne fonctionne pas.
Quelle est ta version de php ?

Bonjour
Alors après pas mal de galères j'ai fini par réussir mon authentifcation SSO-CAS qui récupères les données dans mon LDAP.
Pour cela, il faut en fait utiliser les modules cas, cas_attribute, ldap et token
C'est le cas_attribute que je n'utilisais pas avant.
Merci.