gpt4 book ai didi

symfony - Twig /Symfony2 : multiples roles with is_granted

转载 作者:行者123 更新时间:2023-12-02 14:07:38 24 4
gpt4 key购买 nike

我想知道用户是否具有“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 将仅考虑数组的第一个角色

最佳答案

如果您希望 Symfony2 处理您的角色,那么您的角色需要以“ROLE_”开头。

改变

'VIEW_GEOLOC_DATA' 

'ROLE_VIEW_GEOLOC_DATA'

当然,您需要在配置中更改此设置并添加新角色。

如果您使用专用的 Role 类,则此答案不适用。

关于symfony - Twig /Symfony2 : multiples roles with is_granted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17066838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com