In meiner Website möchte ich einigen Benutzern die Möglichkeit geben, ihre Rolle durch Klicken auf eine Schaltfläche zu ändern. Ich setzte es auf folgende Weise:Zugriff auf verbotene Benutzerrolle nach Änderung
$post = Request::createFromGlobals();
if($post->request->has('change') && $user->hasRole('ROLE_MEDIA') == False){
$em = $this->getDoctrine()->getManager();
$user->setRoles(array('ROLE_MEDIA'));
$em->flush();
}
Es funktioniert prima, nachdem die Datenbank überprüfen, und ich kann in der Hauptsteuerung die Flagge ohne Probleme erholen. Das Problem ist das Folgende: Nach dem Klicken auf die Schaltfläche und Zugriff auf eingeschränkte Seiten für Benutzer, die ROLE_MEDIA haben, erhalte ich einen Fehler 403. Es scheint, dass Symfony die neue Benutzerrolle nicht erkennt. Ich beschränken einige Seiten mit dem folgenden Code:
/**
*
* @Security("has_role('ROLE_MEDIA')")
*/
Ich verstehe nicht das Problem, weil ich die richtigen Werte in meinem Controller ... Vielen Dank im Voraus zugreifen kann
versuchen zu überprüfen, eine Lösung finden [hier] (https://github.com/symfony/symfony/issues/12025) –
es, nachdem Sie funktioniert abzumelden und dann wieder einloggen? – dmnptr
Danke für die URL, die du @VitaliyRyaboy zur Verfügung gestellt hast !! Ich könnte dort eine Lösung finden, danke für Ihre Hilfe –