情况:我的应用程序处理 Doctrine 实体,用户可以访问也可以不访问。特定用户是否可以出于特定目的访问特定实体由自定义选民对象决定(决定用户是否具有访问权限的过程相当复杂)。
问题:我需要向用户展示他有权访问的 Doctrine 实体列表。可能这个列表需要分页。由于决定用户是否有权访问实体的复杂性,为此创建单个 DQL/SQL 查询几乎是不可能的(或者至少是极其棘手的)。
问题:除了从数据库中获取所有实体、遍历它们并询问 security.context 实体是否具有访问权限(将授予访问权限的每个实体添加到一个数组,直到我构建了一个包含足够实体的数组来填充页面)?在向教义询问实体列表时,我能否以某种方式考虑选民?
最佳答案
这就是 ACL 的用途。
请阅读本书章节How to use Access Control Lists (ACLs) .
可以在 this blog post 中找到更多信息。以及文章底部的链接。
现在您已经设置了 ACL,您可以使用来自 this blog 的可能解决方案发布,this question或 this question .
您还可以查看 this gist 中的 ACLHelper .
关于php - 根据 Symfony2 中的自定义投票器制作特定用户可访问的 Doctrine 实体列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17234529/