我想知道用户是否具有 'VIEW_GEOLOC_DATA' 角色,但我在使用 twig 函数时遇到问题is_granted()
。
如果我在模板中使用:
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')) }}
这是我在渲染时得到的:
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)
我尝试登录和注销,清空 symfony 的缓存。
我还尝试切换我的 User 的 getRoles() 方法返回的数组中角色的顺序:函数 is_granted 只会考虑数组的第一个角色