Droits Basés Sur Des Rôles Liés À Des Groupes D'utilisateurs

Bonjour à toute la communauté francophone !

Ceux qui ont déjà utilisé les RBAC (Role-Based Access Control) savent que ce système permet de lier des droits (subdivisés en rôles/tâches/opérations) à des utilisateurs. Mon problème est le suivant : dans mon application, les utilisateurs sont liés à des groupes fonctionnels (imaginons CelluleA, CelluleB, CelluleC), et j’aimerais rattacher les rôles (par exemple admin, testeur, client) à ces groupes plutôt qu’aux utilisateurs qui les composent, ce qui me permettrait lorsqu’un nouvel utilisateur joint un groupe d’hériter des rôles de ce groupe, et donc de ne pas avoir à ajouter à ajouter ces rôles manuellement à l’utilisateur. Le problème, c’est que le fonctionnement des RBAC c’est bel et bien de lier les droits à l’utilisateur (via le champ userid) et je n’ai pas trouvé de manière d’aller contre cela.

Quelqu’un a-t’il déjà rencontré un problème analogue ? Auriez-vous des idées à me soumettre ?

Edit : Ceci dit, j’ai une idée : développer mon propre AuthManager en étendant le CDbAuthManager, même si j’ai pas encore exploré plus en détail cette possibilité.

Bon, à défaut d’une meilleure solution, j’ai créé mon propre DbAuthManager, héritant de CAuthManager. La différence avec le CDbAuthManager réside principalement dans la fonction getAuthAssignments qui récupère les droits conformément à ce que j’attends, c’est-à-dire des assignments liés aux groupes fonctionnels et non aux utilisateurs.

Si toutefois quelqu’un a une meilleure idée à proposer, je suis tout ouïe.

Si tu pouvais nous faire un petit tuto la-dessus je serais fort intéréssé !

Je promets rien mais je vais essayer de faire ça un de ces 4 !