我正在使用 SonataUserBundle,并尝试向某些用户授予 LIST/EDIT 访问权限。
config.yml
#...
sonata_admin:
security:
handler: sonata.admin.security.handler.role
#...
我可以看到管理中列出的角色ROLE_SONATA_USER_ADMIN_USER_*
。
security.yml
security:
access_decision_manager:
strategy: unanimous
#...
role_hierarchy:
#...
ROLE_EDIT_USER:
- ROLE_SONATA_USER_ADMIN_USER_LIST
- ROLE_SONATA_USER_ADMIN_USER_EDIT
#...
但是ROLE_EDIT_USER
没有授予用户管理员访问权限。
我没有奏鸣曲的防火墙规则。
如果我使用处理程序 sonata.admin.security.handler.noop
我将获得访问权限,这证明(我认为)该访问实际上被 sonata 拒绝了。
什么可以拒绝我访问 ROLE_EDIT_USER
?
最佳答案
好吧,我没有看到管理中还列出了 ROLE_SONATA_ADMIN_USER_*
,我不明白为什么。
所以我必须设置
ROLE_EDIT_USER:
- ROLE_SONATA_ADMIN_USER_LIST
- ROLE_SONATA_ADMIN_USER_EDIT
相反
有时 Symfony 在我看来对于简单的事情来说是如此复杂......
例如,我使用 Django 配置相同内容的时间减少了 10 倍。
即使这与奏鸣曲的关系比与 Symfony 的关系更大
关于symfony - Sonata 用户 - 角色安全 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17483342/