LDAP : Récupération d'attributs multiples

LDAP : Récupération d'attributs multiples

par Gaël Mifsud,
Nombre de réponses : 2

Bonjour,

Nous utilisons l'authentification CAS, mais à priori, elle passe par les fonctions de LDAP pour récupérer les attributs de l'annuaire LDAP.

Je ne connais pas le nom exact du type d'attributs du LDAP mais chez nous (Université de Lille) il renvoie parfois des tableaux de valeurs.

Or, pour Moodle 3.9, dans la fonction get_userinfo() (à la ligne 286 de auth/ldap/auth.php) on trouve :

if (is_array($entry[$value])) {
     $newval = core_text::convert($entry[$value][0], $this->config->ldapencoding, 'utf-8');
} else {
     $newval = core_text::convert($entry[$value], $this->config->ldapencoding, 'utf-8');
}

Malheureusement, il nous faudrait la dernière valeur du tableau, pas la première ($value[0]).

Idéalement ce serait mieux si, dans l'interface de choix de récupération des attributs, on pouvait désigner la ligne de tableau que l'on veut ("première", "dernière", "numéro tant").

Mieux, notre LDAP renvoie parfois des valeurs sous la forme {blabla}valeur et on a juste besoin de valeur. Ce serait cool de pouvoir filtrer.

Pensez-vous que je doive faire une demande sur le tracker ?


Deuxième question tant que j'y suis, est-ce que vous savez si les processus d'authentification CAS et LDAP sont en cours de retravail pour Moodle 4 ?

Parce que ce serait bien aussi si on pouvait ne plus passer par LDAP quand on utilise CAS. Notre CAS peut renvoyer des attributs directement, ce qui évite d'avoir à ouvrir un accès au LDAP.

Et ce serait bien aussi de ne plus avoir à patcher l'authentification CAS pour pouvoir donner automatiquement le rôle course creator aux enseignants.

Bref, il y a du travail de ce côté, pensez-vous qu'il soit en cours ?


Merci. sourire

Moyenne des évaluations  -
En réponse à Gaël Mifsud

Re: LDAP : Récupération d'attributs multiples

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,

Pour la question 1 :
Je suppose qu'il s'agit d'attributs multivalués dans LDAP.
Vous pouvez toujours faire une demande sur le tracker.
Après, le risque se situe au niveau de l'ordre et du nombre de valeurs présentes dans l'attribut.
Cela signifie que les les valeurs doivent toujours être récupérées dans le bon ordre.
Et que le nombre de valeurs est constant afin de ne pas utiliser un index hors tableau, ou il faudrait le gérer dans le code.
Et peut-être ajouter une option supplémentaire du type "obligatoire/optionnel".

Pour la question 2 :
est-ce-que le plugin suivant ne répondrait pas au besoin : https://moodle.org/plugins/auth_casattras ?

Bruno

Moyenne des évaluations Utile (3)
En réponse à Bruno Malaval

Re: LDAP : Récupération d'attributs multiples

par Gaël Mifsud,
Merci beaucoup Bruno.

Nous allons regarder de près le plugin auth_casattras qui semble prometteur.
En effet, il sera peut-être possible de demander à notre équipe système que le CAS renvoie les attributs voulus, et donc plus de problème avec les attributs multivalués de LDAP. C'est l'occasion de faire d'une pierre, deux coups. ^_^