사용자에게 'VIEW_GEOLOC_DATA'역할이 있는지 알고 싶지만 나뭇 가지 기능 is_granted()
을 사용하는 데 문제가 있습니다.Twig/Symfony2 : is_granted가있는 역할 배수
내가 템플릿에서 사용하는 경우 :
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)
내가 심포니의 캐시를 비우는과 로그 아웃을 시도했다 :
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')) }}
이 렌더링 할 때 내가 무엇을 얻을 수 있습니다.
나는 또한 내 사용자의() 메소드 getRoles에 의해 반환되는 배열에 역할의 순서를 전환하려고 : is_granted 기능은 당신이 처리 할 수 Symfony2를 기대하는 경우 계정에 배열
명확성의 문제로 if/else를 추가하는 대신 in_array의 결과를 직접 반환 할 수 있습니다. –
ROLE 상속을위한 is_granted 계정이 아닌 경우 (예 : $ this-> getRoles()) , 사용자가 지정된 역할을하는지 확인하는 동안 – Gamesh