如何在 Symfony 中使用 ACL 获取用户的实体

How to get the entities of an user usign ACL in Symfony

我正在尝试创建一个非常简单的应用程序:我正在使用 FOS 用户包和 ACL。

我有一个名为 Site 的实体,用户可以创建网站。当他们这样做时,我将使用分配为该网站的所有者。

现在我想要一个页面,其中列出用户拥有的域或他具有读取权限。我一直在寻找,但找不到任何解决方法。

为什么不在usersite之间建立一个正常的实体关系呢?然后您只需执行 $user->getSites() 或编写自定义查询即可获得该用户的所有站点。

为了安全起见,您可以使用选民,如上面的评论所述,或者您也可以只使用带有 @Security("user.getSites().contains(site)").

等表达式的安全注释