Sur mon site Web, je souhaite donner à certains utilisateurs la possibilité de changer de rôle en cliquant sur un bouton. Je mis en œuvre de la manière suivante:Accéder à un rôle utilisateur interdit après l'avoir modifié
$post = Request::createFromGlobals();
if($post->request->has('change') && $user->hasRole('ROLE_MEDIA') == False){
$em = $this->getDoctrine()->getManager();
$user->setRoles(array('ROLE_MEDIA'));
$em->flush();
}
Il fonctionne très bien, vérifiez après la base de données et je peux récupérer dans le contrôleur principal du drapeau sans problème. Le problème est le suivant: après avoir cliqué sur le bouton et avoir accédé aux pages restreintes aux utilisateurs qui ont le ROLE_MEDIA, j'obtiens une erreur 403. Il semble que Symfony ne détecte pas le nouveau rôle de l'utilisateur. Je limiterai quelques pages en utilisant le code suivant:
/**
*
* @Security("has_role('ROLE_MEDIA')")
*/
Je ne comprends pas le problème parce que je peux accéder aux bonnes valeurs dans mon contrôleur ... Merci d'avance
essayer de vérifier si vous trouvez une solution [ici] (https://github.com/symfony/symfony/issues/12025) –
ça marche après que vous déconnectez puis se reconnecter? – dmnptr
Merci pour l'URL que vous avez fourni @VitaliyRyaboy !! Je pourrais trouver une solution là-bas, merci pour votre aide –