如何使用Symfony ACL过滤我的Doctrine查询

Mat*_*oli 13 php acl doctrine symfony doctrine-orm

Symfony ACL允许我授予对实体的访问权限,然后检查它:

if (false === $securityContext->isGranted('EDIT', $comment)) {
    throw new AccessDeniedException();
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我在数据库中有数千个实体,并且用户只能访问其中的10个实体,我不想在内存中加载所有实体并使它们保持水分.

如何在仅对用户有权访问的实体(在SQL级别)进行过滤时,如何执行简单的"SELECT*FROM X"?

Mat*_*oli 3

好吧,事实就是这样:这是不可能的

去年,我一直致力于开发一种替代 ACL 系统,该系统允许直接在数据库查询中进行过滤。

我的公司最近同意开源它,所以这里是:http://myclabs.github.io/ACL/