src/Security/Voter/RoleVoter.php line 8

Open in your IDE?
  1. <?php
  2. namespace App\Security\Voter;
  3. use Symfony\Component\Security\Core\Authorization\Voter\Voter;
  4. use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
  5. class RoleVoter extends Voter
  6. {
  7.     protected function supports($attribute$subject)
  8.     {
  9.         // Ajoutez ici la prise en charge de 'ROLE_ADMIN', 'ROLE_ADMIN_AGENCY' et 'ROLE_MANAGER'
  10.         return in_array($attribute, ['ROLE_ADMIN''ROLE_ADMIN_AGENCY''ROLE_MANAGER']);
  11.     }
  12.     protected function voteOnAttribute($attribute$subjectTokenInterface $token)
  13.     {
  14.         // Vérifiez si l'utilisateur possède le rôle 'ROLE_ADMIN', 'ROLE_ADMIN_AGENCY' ou 'ROLE_MANAGER'
  15.         if (!empty($token->getUser())) {
  16.             $roles $token->getUser()->getRoles();
  17.             return in_array('ROLE_ADMIN'$roles) || in_array('ROLE_ADMIN_AGENCY'$roles) || in_array('ROLE_MANAGER'$roles);
  18.         }
  19.         
  20.         return false;
  21.     }
  22. }