Development #51211
manager: afficher les informations sur la provenance d'un compte LDAP
0%
Description
Si un compte est issu de la synchro avec un annuaire LDAP on devrait afficher l'info sur la page du compte: l'annuaire origine du compte, les informations synchronisées (prénom, nom, etc).
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a environ 3 ans
- Lié à Development #15077: Distinction des utilisateurs tirés d'un annuaire LDAP dans le /manage/ ajouté
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 0001-ldap-record-users-ldap-accounts-51211.patch 0001-ldap-record-users-ldap-accounts-51211.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Proposition minimale sans tester, est-ce que l'approche est OK ?
Mis à jour par Thomas Noël il y a plus de 2 ans
(juste en passant...) Je n'ai pas compris la ref à "authentic2_auth_oidc" dans le AppConfig, mais je laisse à d'autres le soin de comprendre ça. En revanche est-ce qu'on pourrait aussi stocker le "dn" dans LDAPAccount ? Ca serait sans doute utile à l'usage. A noter que ça doit pouvoir être un truc plutôt long je pense, genre 512 ou 1024 (quitte à tronquer si le "dn" est trop long, ça resterait juste de l'info et pas une vraie donnée utilisée comme clé ou autre).
Mis à jour par Valentin Deniaud il y a plus de 2 ans
Thomas Noël a écrit :
(juste en passant...) Je n'ai pas compris la ref à "authentic2_auth_oidc" dans le AppConfig
Copier/coller rapide corrigé sur la branche.
En revanche est-ce qu'on pourrait aussi stocker le "dn" dans LDAPAccount ?
J'hésite, j'aurais bien vu ce ticket rester ultra minimal, parce que tout le monde va avoir envie de stocker tel ou tel attribut et que j'ai peur que ça traîne. Mon objectif ici c'est en premier lieu d'enregistrer l'info comme quoi un compte vient du LDAP.
Et puis la bonne manière de faire ce sera de récupérer l'info dn depuis un modèle LDAPServer, quand on aura le paramétrage de tout ça en BO...
Mis à jour par Valentin Deniaud il y a plus de 2 ans
Valentin Deniaud a écrit :
Et puis la bonne manière de faire ce sera de récupérer l'info dn depuis un modèle LDAPServer
J'avais en tête le base_dn du serveur mais Thomas me fait remarquer à l'oral qu'il est question ici du dn de l'utilisateur, va pour l'ajouter donc.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Valentin Deniaud a écrit :
Valentin Deniaud a écrit :
Et puis la bonne manière de faire ce sera de récupérer l'info dn depuis un modèle LDAPServer
J'avais en tête le base_dn du serveur mais Thomas me fait remarquer à l'oral qu'il est question ici du dn de l'utilisateur, va pour l'ajouter donc.
Il y a déjà un modèle pour stocker la référence entre le compte LDAP et le user, c'est UserExternalId. Pour ne pas partir sur un deuxième modèle représentant la même chose (je préfèrerai que ce soit fait sur la migration vers une représentation en base de la configuration LDAP), on doit normalement lister les UserExternalId et ensuite demander au backend de résoudre le uid qui est généralement stocké vers le DN avec une recherche LDAP. Bien sûr rien de toute ça n'existe :/
Si vraiment on est dans l'approche minimal je suis pour donner l'URL du LDAP via le champ source
de UserExternalId (qui nous donnera le bon block) et simplement la décomposition du external_id
en uid=bdauvergne
par exemple. C'est largement suffisant, les uid/sAMAccountName sont uniques sur toute la base dans 99,9% des cas (j'ai aucun souvenir d'un cas où on ait eu besoin du DN en fait).
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Fichier 0001-ldap-record-users-ldap-accounts-51211.patch 0001-ldap-record-users-ldap-accounts-51211.patch ajouté
Benjamin Dauvergne a écrit :
Il y a déjà un modèle pour stocker la référence entre le compte LDAP et le user, c'est UserExternalId.
Complètement zappé ça, merci.
je suis pour donner l'URL du LDAP via le champ
source
de UserExternalId (qui nous donnera le bon block) et simplement la décomposition duexternal_id
enuid=bdauvergne
par exemple
En fait j'ai vraiment envie de faire 0 accrobatie ici, donc affichage juste de ce qu'on a d'accessible, si ensuite on veut vraiment afficher une URL ou une décomposition de external_id on peut faire un autre ticket.
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
Valentin Deniaud a écrit :
En fait j'ai vraiment envie de faire 0 accrobatie ici, donc affichage juste de ce qu'on a d'accessible, si ensuite on veut vraiment afficher une URL ou une décomposition de external_id on peut faire un autre ticket.
Ça me va très bien.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
Benjamin Dauvergne a écrit :
Ça me va très bien.
Tu valides alors ? :)
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit ef1d8c8e2d0e8d2937b9e229aea38bff999ace3b Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Wed Jul 7 16:11:27 2021 +0200 manager: include ldap external id info in user details (#51211)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
manager: include ldap external id info in user details (#51211)