- Ymox,
Bonjour,
J'aurais besoin d'un œil extérieur.
Dans l'idée de mettre en place des sécurités d'accès sur certains objets, j'ai donc créé un voter. L'idée de base est de pouvoir choisir les rôles qui auront accès à l'objet lors de la création ou de l'édition de celui-ci.
Le hic, c'est que c'est comme si mon voter n'existait pas, en cela que je ne passe apparemment pas ni dans la méthode supports(…)
, ni dans voteOnAttribute(…)
, alors que le service est bien instancié.
Est-ce que quelqu'un pourrait me dire qu'est-ce qui cloche ?
Merci d'avance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <?php namespace My\WonderfulBundle\Security; use Symfony\Component\Security\Core\Authorization\Voter\Voter; use Symfony\Component\Security\Core\Authorization\AccessDecisionManagerInterface; use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; use My\WonderfulBundle\Entity\Access; class AccessVoter extends Voter { private $decisionManager; public function __construct(AccessDecisionManagerInterface $decisionManager) { $this->decisionManager = $decisionManager; } protected function voteOnAttribute($attribute, $subject, TokenInterface $token) { if ($this->decisionManager->decide($token, $subject->getRoles())) { return true; } } protected function supports($attribute, $subject) { // only vote on Access objects inside this voter if (!$subject instanceof Access) { return false; } return true; } } |
+0
-0