Bonjour,
J'ai suivi le tuto sur la formation symfony 4
J'ai donc deux questions quant à la gestion des rôles.
La première, j'aimerais créer une vue centralisée qui me permettrait pour chaque action (ou route) de lui affecter les rôles souhaitées, je n'ai aucune idée de comment le faire car ce cours est ma toute première interaction avec Symfony.
La deuxième c'est plus une demande d'éclaircissement au niveau de la création des Rôles à savoir si il est possible de laisser aux utilisateurs en fonction de leurs droits (par exemple si ils ont le ROLE_Admin) de créer d'autres types de Rôles différents de ceux de base définis dans le fichier de config.

2 réponses


Si je comprends bien ta première question, tu veux que les routes soient visibles en fonction du rôle de l'utilisateur.

Dans ce cas tu vas dans security.yaml, tout en bas il y a acces_control

    access_control:
         - { path: ^/admin, roles: ROLE_ADMIN }
         - { path: ^/client, roles: ROLE_USER }

il faut donc que ta route commence par les préfixes mentionnés ici

@Route("/admin/.......

Perso je préfère créer des controlleurs par rôles, dans ces cas là tu n'écris qu'une seule fois admin juste avant d'ouvrir ta class controlleur :

/**
 * @Route("/admin")
 */
class AdminController extends AbstractController
{.....
Salia
Auteur

Bonjour, merci pour ton retour.
Ce n'est pas excatemenen celà, je veux avoir une vue par exemple, accessManagement qui au sein d'elle, il y aura un select qui permet d'afficher tous les rôles créés au sein de la bdd d'une part et d'autre part on aura la liste de toutes les routes existantes. Le but étant de pouvoir sélectionner une ou plusieurs routes de notre choix et de lui donner accès à cette dernière. Ainsi les accès ne serait pas figés dans le fichier de controle et un user qui a accès à la route accessManagement peut attribuer des routes a des rôles et faire l'inverse