Sonata Admin:让用户只编辑他们拥有的实体(ACL)

tho*_*rad 5 acl symfony sonata-admin

我有使用ACL设置的Sonata Admin.我有不同的用户,组和权限,工作正常.为此,我按照ACL上的Sonata Admin文档进行了操作.

所以这是我的问题:什么是一种干净的方法来确保后端(管理员)用户只能查看,编辑和删除他们使用Symfony和Sonata Admin的内置ACL机制创建的实体?保存在ACL表格中后,Sonata Admin会自动存储对象的所有者(创建者)(来自Sonata文档):

所有者:创建对象时,当前登录的用户被设置为该对象的所有者,并被授予该对象的所有访问权限;

Stackoverflow上已经回答了同样的问题,但答案并没有详细解释如何使用ACL解决它.

tho*_*rad 4

有一个新的 Symfony 包就是这样做的:https://github.com/coopTilleuls/CoopTilleulsAclSonataAdminExtensionBundle

您需要做的就是在 Sonata Admin 中启用 ACL,安装捆绑包并激活它。非常简单有效,我在 Symfony2 项目中使用 Sonata Admin 2.2。