Projet

Général

Profil

Development #30535

imports d'attributs quelconques d'un LDAP

Ajouté par Thomas Noël il y a 12 jours. Mis à jour il y a 11 jours.

Statut:
Solution déployée
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
11 fév. 2019
Echéance:
% réalisé:

100%

Patch proposed:
Oui

Description

Pour l'instant populate_user_attributes ne gère que email, first_name, last_name

On voudrait se donner la possibilité d'importer n'importe quoi d'autre, genre :

sn: HUIT
givenName: Utilisateur
mail: utilisateur.huit@culture.gouv.fr
gender: h
roomNumber: 8008
telephoneNumber:: MDEgMjMgNDUgNjcgODgg
l: Bons Enfants
MCCOuBis: AC/SG/Service/HUIT

Pour cela, on définit dans le profil utilisateur des attributs qui vont recevoir les informations, et dans la configuration LDAP on ajoute un mapping du genre :

   ...
   "import_attributes": {
       "l": "locality",
       "telephoneNumber": "phone",
       "roomNumber": "room",
       "MCCOuBis": "MCCOuBis" 
   },
   ...

0002-ldap-allow-provisionning-of-all-user-attributes-fixe.patch Voir (4,73 ko) Benjamin Dauvergne, 11 fév. 2019 17:14

0001-tests-PEP8ness-and-style-on-test_ldap-30535.patch Voir (9,86 ko) Benjamin Dauvergne, 11 fév. 2019 17:14

0002-ldap-allow-provisionning-of-all-user-attributes-fixe.patch Voir (5,03 ko) Benjamin Dauvergne, 12 fév. 2019 09:50

0001-tests-PEP8ness-and-style-on-test_ldap-30535.patch Voir (9,56 ko) Benjamin Dauvergne, 12 fév. 2019 09:50

Révisions associées

Révision 9d96274c (diff)
Ajouté par Benjamin Dauvergne il y a 11 jours

tests: PEP8ness and style on test_ldap (#30535)

Révision d28a6bba (diff)
Ajouté par Benjamin Dauvergne il y a 11 jours

ldap: allow provisionning of all user attributes (fixes #30535)

Historique

#1 Mis à jour par Thomas Noël il y a 12 jours

(assigné à Benjamin pour avis... ou plus... ;) )

#2 Mis à jour par Benjamin Dauvergne il y a 12 jours

Faut déterminer si on veut pouvoir mapper un même attribut LDAP sur plusieurs attributs A2, ou plusieurs attributs LDAP sur un même attribut A2 (si un est absent on prend l'autre) ou les deux, dans les deux premiers cas on peut se satisfaire d'un dico simple, dans le dernier cas faut penser plutôt à une liste de 2-tuple ou de dicos :

   'user_attributes': [
       { 'from_ldap': 'l', 'to_user': 'locality' },
   ]

explicite étant better qu'implicit je pense m'orienter vers cette dernière forme, qu'on appliquera dans l'ordre.

#3 Mis à jour par Benjamin Dauvergne il y a 12 jours

Un premier patch de nettoyage du code des tests (j'essaie de faire ça à chaque
fois maintenant, je ne suis pas encore passé sur backend_ldap.py, ce serait
long).

Un deuxième avec la fonctionnalité et les tests.

#4 Mis à jour par Benjamin Dauvergne il y a 11 jours

  • déplacé l'ajout des 'locality' dans le deuxième patch

#5 Mis à jour par Thomas Noël il y a 11 jours

  • Statut changé de Solution proposée à Solution validée

#6 Mis à jour par Thomas Noël il y a 11 jours

  • Statut changé de Solution validée à Résolu (à déployer)
commit d28a6bba2548798048d0a4e36fa3e8ecc7a10b73 (HEAD -> master, origin/master, origin/HEAD)
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Mon Feb 11 17:13:12 2019 +0100

    ldap: allow provisionning of all user attributes (fixes #30535)

commit 9d96274c7b742748fcb8a62cdeb302b497367edb
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Mon Feb 11 17:12:39 2019 +0100

    tests: PEP8ness and style on test_ldap (#30535)

#7 Mis à jour par Benjamin Dauvergne il y a 11 jours

  • % réalisé changé de 0 à 100

#8 Mis à jour par Frédéric Péters il y a 11 jours

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF