<?php
namespace App\Security\Voter;
use Symfony\Component\Security\Core\Authorization\Voter\Voter;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
class RoleVoter extends Voter
{
protected function supports($attribute, $subject)
{
// Ajoutez ici la prise en charge de 'ROLE_ADMIN', 'ROLE_ADMIN_AGENCY' et 'ROLE_MANAGER'
return in_array($attribute, ['ROLE_ADMIN', 'ROLE_ADMIN_AGENCY', 'ROLE_MANAGER']);
}
protected function voteOnAttribute($attribute, $subject, TokenInterface $token)
{
// Vérifiez si l'utilisateur possède le rôle 'ROLE_ADMIN', 'ROLE_ADMIN_AGENCY' ou 'ROLE_MANAGER'
if (!empty($token->getUser())) {
$roles = $token->getUser()->getRoles();
return in_array('ROLE_ADMIN', $roles) || in_array('ROLE_ADMIN_AGENCY', $roles) || in_array('ROLE_MANAGER', $roles);
}
return false;
}
}