Projet

Général

Profil

Development #70152

Lors de la génération des permissions d'un utilisateur, prendre en compte l'héritage entre modèles

Ajouté par Benjamin Dauvergne il y a plus d'un an. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
12 octobre 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Dans django_rbac.backends.DjangoRBACBackend.get_permission_cache() si on trouver '<app1>.<perm>_<model1>' mais que <app2>.<model2> hérite de '<app1>.<model1>', ajouter '<app2>.<perm>_<model2>'.

Exemple réel: la permission authentic2.admin_service donnera automatiquement les permissions authentic2_idp_oidc.admin_oidcclient, saml.admin_libertyprovider et authentic2_idp_cas.admin_service.


Fichiers


Demandes liées

Lié à Authentic 2 - Development #69902: django_rbac, rapatrier le modèle OperationFermé05 octobre 2022

Actions
Lié à Authentic 2 - Development #70135: django_rbac, rapatrier PermissionMixinFermé11 octobre 2022

Actions

Révisions associées

Révision 626ab8aa (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

a2_rbac: add helper method to build permissions (#70152)

Révision 772a3f6f (diff)
Ajouté par Benjamin Dauvergne il y a plus d'un an

rbac: handle inheritance between model in get_all_permissions (#70152)

For global and ou scoped permissions, equivalent permissions on the child
classes are added, i.e. if you have authentic2.admin_service
permission then you also have authentic2_idp_oidc.admin_oidcclient
permission (globally or scoped by an organizational unit).

For instance scoped permissions, equivalent permissions on the parent
classes are added, i.e. if you have permission
authentic2_idp_oidc.admin_oidcclient on OIDCClient(pk=1), you also have
authentic2.admin_service on the same object.

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus d'un an

Début du truc, mais je vais relire les tickets de Valentin sur django_rbac d'abord pour ne pas perdre de temps pour rien.

#2

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Nouveau à En cours
#3

Mis à jour par Benjamin Dauvergne il y a plus d'un an

#4

Mis à jour par Benjamin Dauvergne il y a plus d'un an

#8

Mis à jour par Serghei Mihai il y a plus d'un an

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

Mis à jour par Benjamin Dauvergne il y a plus d'un an

  • Statut changé de Solution validée à Résolu (à déployer)
commit 772a3f6f6d09a9d3a10f1fe2cc2c56d75a79d860
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Wed Oct 12 10:52:43 2022 +0200

    rbac: handle inheritance between model in get_all_permissions (#70152)

    For global and ou scoped permissions, equivalent permissions on the child
    classes are added, i.e. if you have authentic2.admin_service
    permission then you also have authentic2_idp_oidc.admin_oidcclient
    permission (globally or scoped by an organizational unit).

    For instance scoped permissions, equivalent permissions on the parent
    classes are added, i.e. if you have permission
    authentic2_idp_oidc.admin_oidcclient on OIDCClient(pk=1), you also have
    authentic2.admin_service on the same object.

commit 626ab8aab713e04b6d8c413e9c3bda7ad4cc1700
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu Oct 13 19:21:59 2022 +0200

    a2_rbac: add helper method to build permissions (#70152)
#10

Mis à jour par Transition automatique il y a plus d'un an

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

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF