Bir kullanıcının 'VIEW_GEOLOC_DATA' rolüne sahip olup olmadığını bilmek istiyorum, ancak is_granted()
dal işlevini kullanırken bir sorun yaşıyorum.Twig/Symfony2: is_granted ile katları roller
Bir şablonda kullanıyorsanız:
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)
Ben Symfony'nin önbellek boşaltma, giriş ve çıkış yaptıktan denedim:
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')) }}
Bu işlerken ne alıyorum.
Ben de Kullanıcı) (yöntem getRoles tarafından döndürülen dizide rolleri sıralamasını değiştirmek için çalıştı: is_granted işlev yalnızca işlemek için Symfony2'ye bekliyoruz dikkate dizinin
, açıklık meselesi olarak, if/else: 'return in_array ($ role, $ this-> getRoles()) eklemek yerine, doğrudan in_array sonucunu döndürür; –
Aynı şey ROLE devralma hesaplarına aittir. Sadece kullanıcı belirli bir role sahip olup olmadığını kontrol ederken – Gamesh