是否可以使用FOS User/Sonata/Symfony仅管理表中特定条目的权限


Is it possible to manage permissions only on specific entries in a table with FOS User / Sonata / Symfony?

我实际上正在制作一个小型应用程序,旨在展示Admin Generator Sonata的功能。目前,我可以使用Doctrine显示PostGIS中的表格,编辑它们,过滤它们。我还将FOS用户添加到了我的管理包中,这样我就可以处理角色了。

例如,我的管理界面中有三个表。用户1只能查看和编辑第一个表。用户2可以看到所有的表,但只能编辑2和3。

这是有效的。但现在,我想走得更远;但我不知道这是否可能。

我会把我的想法写给你:

我希望用户1在编辑表1时只能编辑特定的条目。例如,该表有4个条目,其中包含一个ID字段(1、2、3、4)。是否可以允许用户查看所有条目,但只编辑ID字段值为1的条目中的字段。

我希望我足够清楚://。如果没有,我会尝试在油漆上快速设计(:ß),并将其张贴在那里,这样也许它会更清晰。如果这是可能的,有什么提示或例子吗?提前感谢:-)!

Vince

您可以使用ACL来管理这种权限。

角色权限模型并不真正适合这类任务。

有关ACL的更多信息,请参阅文档章节:

如何使用访问控制列表(ACL)

如何使用高级ACL概念

关于实现的更多信息可以在SonataAdminbundle文档中找到:

索纳塔->管理->文档->安全