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 :-)

Aucune réponse