Project

General

Profile

Development #37187

manager, affichage/lecture seule pour les rôles pilotés depuis un annuaire LDAP

Added by Frédéric Péters 4 months ago. Updated 2 months ago.

Status:
Solution proposée
Priority:
Normal
Category:
-
Start date:
24 Oct 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

Description

Pour un rôle qui se trouve mentionné dans LDAP_AUTH_SETTINGS/group_to_role_mapping on devrait afficher un message disant que le rôle est synchronisé depuis l'annuaire LDAP et ne pas permettre l'ajout/retrait de membres.

0001-manager-prevent-changing-ldap-sychronised-role-affec.patch View (6.96 KB) Valentin Deniaud, 18 Nov 2019 04:56 PM

0002-manager-prevent-changing-ldap-sychronised-role-affec.patch View (8.29 KB) Valentin Deniaud, 10 Dec 2019 04:13 PM

0001-manager-fix-typo-37187.patch View (1.23 KB) Valentin Deniaud, 10 Dec 2019 04:13 PM


Related issues

Blocked by Authentic 2 - Bug #20513: Ajouter une permission explicite pour gérer les membres d'un rôle Solution proposée 08 Dec 2017

History

#2 Updated by Benjamin Dauvergne 4 months ago

  • Target version set to ticket facile

#3 Updated by Valentin Deniaud 4 months ago

Benjamin, tu imagines vérifier à la volée si un rôle est dans le mapping ? Ça se fait probablement de manière assez légère dans PermissionMixin, si on veut bien se contenter de planquer les boutons.
Un peu dommage par contre que le mapping soit de la forme [['dn', ['role1', 'role2']], ...] au lieu de {'dn': ('role1', 'role2'), ...}, ça fera pas un check très joli. Si c'est en prod à peu d'endroit et que le changer est envisageable...

#4 Updated by Benjamin Dauvergne 4 months ago

La plupart des déploiements n'ont pas de mapping et quand il y en a il n'y en a qu'un, donc oui un truc assez moche :

if any(role.name in mapping[1] for mapping in getattr(settings, 'LDAP_SETTINGS', {}).get('group_to_role_mapping', [])):
   show_warning()

qu'on enlèvera le jour où on saura faire plus propre.

#5 Updated by Valentin Deniaud 3 months ago

  • Assignee set to Valentin Deniaud

#6 Updated by Valentin Deniaud 3 months ago

Pas si droit devant au final, il y a deux vues impactées, /manage/roles/x/ et /manage/users/y/roles/, avec la dernière qui se subdivise en deux. Tout n'est pas gérable simplement à un endroit comme j'imaginais.

Pour traiter la première j'aimerais bien la permission manage-members de #20513 (à moins qu'on veuille aussi bloquer l'édition du rôle ?). Je joins quand même le patch incomplet, pour info.

#7 Updated by Valentin Deniaud 3 months ago

  • Blocked by Bug #20513: Ajouter une permission explicite pour gérer les membres d'un rôle added

#8 Updated by Valentin Deniaud 2 months ago

En utilisant manage_members ajouté dans #20513, donc.

Also available in: Atom PDF