Chcę wiedzieć, czy użytkownik ma rolę "VIEW_GEOLOC_DATA", ale mam problem z wykorzystaniem funkcji gałązki is_granted()
.Twig/Symfony2: wielokrotności ról z is_granted
Jeśli używam w szablonie:
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')) }}
To co mam przy renderowaniu:
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)
Próbowałem zalogowaniu i na zewnątrz, opróżniania pamięci podręcznej Symfony za.
Próbowałem również zmienić kolejność ról w tablicy zwróconej przez getRoles() metoda mojego Użytkownik: funkcja is_granted weźmie pod uwagę tylko pierwszy rolę tablicy
dla jasności może bezpośrednio zwrócić wynik in_array, zamiast dodawać if/else: 'return in_array ($ rola, $ this-> getRoles());' –
To nie to samo, co isgranted kont dziedziczenia ROLE , natomiast samo sprawdzenie, czy użytkownik ma określoną rolę, nie działa – Gamesh