-
Droits structurés
Bonjour,
J'ai installé le plugin sfGuard, tout marche parfaitement.
Je souhaiterais par contre mettre en place un système de droits structurés. J'entends par là que mes droits (permissions) stockés dans ma table sfGuardPermission, sont listés, lors de l'edition d'un profil par exemple, à la suite les uns des autres; j'aimerai les regrouper par catégories.
Aujourd'hui j'ai les droits comme tels :
- item_lecture
- item_ecriture
- item_aucun
- item2_lecture
- item2_ecriture
- item2_aucun
Je souhaiterai obtenir :
- Item
- item_lecture
- item_ecriture
- item_aucun
- Item2
- item2_lecture
- item2_ecriture
- item2_aucun
Je pensais donc rajouter une table sfGuardCategoryPermission, et pouvoir créer un tuple : 'Item', et un autre 'Item2'; et associer chacun de mes droits à l'une ou l'autre de ces catégories.
Par contre, ce serait faisable en ajoutant un champ category_id à ma table sfGuardPermission, mais j'ai lu qu'il ne fallait pas modifier les tables auto-générées par le plugin sfGuard...
Auriez-vous des idées ou des conseils qui me permettront de parvenir à mon objectif, structurer mes droits (permissions) ?
Merci d'avance,
Cordialement,
Thec :roll:
-
Salut,
Je crois aussi que tu as intérêt à ne pas modifier la structure de ce plugin, pour ne pas avoir d'effets de bords vis à vis du fonctionnement normal de celui-ci.
Par contre, si tu veux structurer tes permissions via un prefixe précis, en vue d'un affichage, pourquoi ne pas avoir recours à un groupby dans une Doctrine_Query en splittant sur un caractère précis, du genre "_" ?
En espérant t'avoir fait avancer un peu...
A+
Mathieu
-
Merci pour ta réponse,
Je vais essayer un peu de ce côté. Si vous avez éventuellement d'autres idées, ou d'autres expériences dans ce domaine, n'hésitez pas...
Cdlmt,
Thec
-
Finalement j'ai opté pour une autre solution... Créer mon propre modèle de droits, et surcharger les fonctions utiles au bon endroit.
J'ai ainsi créé un modèle droit, et un modèle catégorie : cela m'offre une gestion plus précise, plus propre et une solution nettement plus pérenne que ce que j'envisageais au début.
Merci encore... Du coup le problème est résolu pour moi en redéfinissant le modèle de droits...
Cdlmt;
Thec ;)