Symfony2 ACL和寻呼机/多个实体过滤

时间:2011-09-11 01:41:53

标签: symfony doctrine-orm acl

我已经看过ACL的例子来处理一个实体,但没有处理提取多个项目的例子 - 例如属于作者的帖子列表。一个(坏)建议是获取所有项目,然后使用acl过滤 - 当我们有一百万个项目时不会工作。获取多个项目的预期方式是什么 - 假设我想获取我的所有帖子(使用我需要的任何条件,例如发布或订购),批量为50的寻呼机(后期过滤不起作用的另一个原因 - 我最终会有不同的页面大小。

1 个答案:

答案 0 :(得分:2)

我认为,您不应该使用ACL来确定哪些帖子属于给特定作者,因为ACL是关于访问控制/权限,而不是查找所有者或确定对象关系。

但当然,您完全可以获得某些用户可以查看,编辑或审核的帖子列表。

目前,没有任何功能可以在API级别上执行此操作,但是......我想在Symfony2 / Doctrine2中,您可以Native Query加入acl_entries table

但是有一个缺点。在一个大型系统acl_entries表中将包含太多行,并且加入它可能很慢(我们知道,MySQL有时是愚蠢的)。所以你可能也希望围绕这个构建某种缓存系统。