我正在使用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
?
答案 0 :(得分:2)
好的,我没有看到管理员中也列出了ROLE_SONATA_ADMIN_USER_*
,我不明白为什么。
所以我必须设置
ROLE_EDIT_USER:
- ROLE_SONATA_ADMIN_USER_LIST
- ROLE_SONATA_ADMIN_USER_EDIT
代替
有时Symfony对我而言似乎很复杂......
例如,我花了大约10倍的时间用Django配置相同的东西 即使与Sonata相关的内容与Symfony相关