Bonjour,
Je cherche à mettre en place un système de gestion des utilisateurs basé sur des profils. Ainsi, un utilisateur peut être affecté à un établissement A avec certains rôles, et être affecté à un établissement B avec d'autres rôles. L'idée est de pouvoir choisir le profil lors de l'authentification, ou après celle-ci.
La solution switch_user
n'est pas adaptée, car il ne s'agit pas de switcher à proprement parler entre 2 utilisateurs ou 2 rôles.
J'ai également tenté de customiser le FormLoginAuthenticator
, mais je ne peux pas overrider les méthodes comme je l'entends (ou alors, je m'y prends mal) afin de récupérer les rôles issus du profil souhaité et les associer à l'utilisateur connecté . J'ai aussi tenté de modifier les rôles dynamiquement en cours de session, mais l'utilisateur se fait éjecter lors de l'appel de la page suivante ; l'option always_authenticate_before_granting
a d'ailleurs disparu de Symfony 7.2. Je pourrais actualiser les droits lors de chaque appel, mais cela me semble lourd et peu élégant.
Avez-vous des pistes ? Creuser la piste de la customisation de l'authentification (mais je commence à sécher ) ? Faire appel à un service dans mes controlleurs (mais là aussi, ça me semble lourd)? Développer un système d'authentification de A à Z ? J'imagine que mon besoin n'est pas un cas isolé, et je ne veux pas réinventer la roue.
Merci par avance pour vos retours :-)