Symfony ACL 允许我授予对实体的访问权限,然后检查它:
if (false === $securityContext->isGranted('EDIT', $comment)) {
throw new AccessDeniedException();
}
但是,如果我的数据库中有数千个实体,而用户只能访问其中的 10 个实体,我不想将所有实体加载到内存中并对它们进行水合。
如何执行简单的“SELECT * FROM X”,同时仅过滤用户有权访问的实体(在 SQL 级别)?
最佳答案
那就是:这是不可能的。
去年,我一直致力于开发一种替代 ACL 系统,该系统允许直接在数据库查询中进行过滤。
我的公司最近同意开源它,所以这里是:http://myclabs.github.io/ACL/
关于php - 如何使用 Symfony ACL 过滤我的 Doctrine 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14858642/