Bonjour,
Je développe une plateforme en symfony 3 (et je suis encore un peu débutant sur ce framework) permettant de la gestion administrative basique d'élèves de plusieurs écoles.
Sur cette plateforme, plusieurs administratifs viennent se connecter. Ces administratifs peuvent appartenir à une ou plusieurs école.
Je voudrais ajouter une sécurité interdisant à un administratif de voir/editer une fiche élève d'une école dont il ne fait pas parti.
J'ai pensé faire un service pour ça (un style de before filter), écoutant les événements du contrôleur et avec comme paramètres l'entity manager pour faire des recherches sur les entités et le token storage pour récupérer l'utilisateur loggé.
Mais je bloque un peu et j'ai l'impression qu'il y a certainement une meilleure solution.
Par exemple comment puis-je savoir sur quel entité je fais une recherche depuis le listener onKernelController ?
Voici la déclaration de mon service auquel j'ai pensé :
Avez vous des conseils ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 app.event.access_listener: class: AppBundle\EventListener\AccessListener arguments: ["@doctrine.orm.entity_manager", "@security.token_storage"] tags: - { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
Merci
Partager