Ich möchte wissen, ob ein Benutzer die "VIEW_GEOLOC_DATA" Rolle hat, aber ich habe ein Problem mit der Zweigfunktion is_granted()
.Twig/Symfony2: Multiples Rollen mit is_granted
Wenn ich in einer Vorlage verwenden:
Roles : {{ dump(app.user.getRoles()) }}
is_granted('ROLE_SUPER_ADMIN') : {{ dump(is_granted('ROLE_SUPER_ADMIN')) }}
is_granted('VIEW_GEOLOC_DATA') : {{ dump(is_granted('VIEW_GEOLOC_DATA')) }}
Dies ist, was ich beim Rendern:
array(2) {
[0]=>
string(16) "ROLE_SUPER_ADMIN"
[1]=>
string(16) "VIEW_GEOLOC_DATA"
}
is_granted('ROLE_SUPER_ADMIN') : bool(true)
is_granted('VIEW_GEOLOC_DATA') : bool(false)
Ich habe versucht, in die und aus der Anmeldung, symfony-Cache zu leeren.
Ich habe auch versucht, die Reihenfolge der Rollen in der Anordnung durch die Methode GetRoles() meines Benutzerzurückschalten: die Funktion is_granted nur berücksichtigen die erste Rolle des Arrays
zur Klarheit vielleicht direkt das Ergebnis von in_array zurückgeben, anstatt ein if/else: 'return in_array ($ rolle, $ this-> getRoles());' –
Es ist nicht das gleiche was is_granted Konten für ROLE Vererbung , während Sie nur überprüfen, ob der Benutzer eine bestimmte Rolle hat – Gamesh