-
Gestion des roles FOS
bonjour a tous,
j'ai installé et configuré FOSUserBundle . J 'essaie de creer une page pour le Super admin , ou je
peux voir tout les utilisateurs et affecter a certains role auteur et d'autre role moderateur etc ..
je veux que ça soit comme les cms.
J 'ai besoin de vos idées
mercii
-
Bonjour, voici ma réponse à ce post.
http://www.developpez.net/forums/d14...s-permissions/
Pour résoudre mon problème. Cela a été relativement simple.
1 / J'ai créé une tâche qui liste l'ensemble des routes de mon appli back office (elles sont toutes préfixées par admin_) et qui les stocke en base dans une table permission. Par défaut je considère que toutes mes routes sont sécurisées (flag en base) mais ceci est configurable
2 / J'ai créé trois modules BO pour gérer les utilisateurs, les groupes et les permissions avec sonata. Relation n-n entre user et groupes et relation n-n entra groupe et permission.
3 / J'ai créé un controlerListener qui écoute l'évent onKernelRequest. Dans ce controller je vérifie que ma route est back ou front, si back je vérifie en base si elle est sécurisée, si elle est sécurisée je vérifie dans les groupes de mon utilisateurs si la permission est présente, sinon je lance une exception AccesDenied. J'ai modifié le template de l'erreur 403 en spécifiant que "les droits sont insuffisant, contactez le service IT blablabla…"
Et voila. Je t'omets les différents détails d'implémentation. Mais voici les grandes lignes.
De cette façon je contrôle tous mes utilisateurs, mes groupes et mes permissions dans mon interface BO et je n'ai pas besoin de mettre à jour le fichier security.yml avec 450 000 lignes de rôles.