我已使用ACL设置了Sonata Admin。我有不同的用户,组和权限,可以正常工作。为此,我遵循了the Sonata Admin documentation on ACLs。
这是我的问题:有什么干净的方法可以确保后端(管理员)用户只能查看,编辑和删除使用Symfony和Sonata Admin内置ACL机制创建的实体?一旦将对象保留在ACL表中(来自Sonata docs),Sonata Admin会自动存储该对象的所有者(创建者):
The same question has already been answered on Stackoverflow,但是答案没有详细说明如何使用ACL解决它。
最佳答案
有一个新的Symfony捆绑包就是这样做的:https://github.com/coopTilleuls/CoopTilleulsAclSonataAdminExtensionBundle
您需要做的就是enable ACL in Sonata Admin,安装捆绑软件并激活它。非常简单且有效,我在Sonata Admin 2.2的Symfony2项目中使用了它。