Je suis nouveau dans Symfony, alors excusez mon ignorance.Symfony 2.8: Comment empêcher l'édition des champs de service de l'utilisateur
Dans mon projet, j'utilise Sonata User Bundle, avec une entité utilisateur étendue par plusieurs champs. Certains d'entre eux peuvent être édités par l'utilisateur lui-même, tandis que d'autres sont utilisables et ils ne peuvent être modifiés que par l'administrateur. La question est: Comment assurer la sécurité lors de l'édition des informations par l'utilisateur?
Je vois 2 façons:
1. Utilisez des contraintes de validation personnalisées qui vérifieront le rôle de l'utilisateur.
2. Utilisez une entité associée de type un-à-un avec son propre administrateur.
Peut-être existe-t-il des moyens standard pour accomplir cette tâche?
Merci d'avance!
UPD:
Le problème est qu'il existe une entité (utilisateur) qui peut être modifiée à partir de différents endroits: zone d'administration et zone publique. Naturellement, les formulaires pour les zones admin et public sont différents, mais il est possible qu'un attaquant puisse créer un formulaire et éditer des champs accessibles uniquement à l'administrateur. Par conséquent, je veux les protéger au niveau de l'entité. C'est possible?
Le problème est qu'il existe une entité (utilisateur) qui peut être éditée à partir de différents endroits: zone d'administration et zone publique. Naturellement, les formulaires pour les zones admin et public sont différents, mais il est possible qu'un attaquant puisse créer un formulaire et éditer des champs accessibles uniquement à l'administrateur. Par conséquent, je veux les protéger au niveau de l'entité. C'est possible? – boehpyk
essayer d'utiliser les événements de formulaire prédéfinir les données et présumer les données et passer dans la construction authorizationChecker pour vérifier si le rôle de l'utilisateur actuel dans le formulaire de chargement et juste dans soumettre est la bonne fois. –