我正在使用SonataUserBundle,并试图向一些用户授予LIST/EDIT访问权限。
config.yml
#...
sonata_admin:
security:
handler: sonata.admin.security.handler.role
#...
我可以看到admin中列出的角色ROLE_SONATA_USER_ADMIN_USER_*
。
安全性.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的防火墙规则
如果我使用处理程序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倍
即使这与Sonata比Symfony更相关