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

标签 php symfony doctrine-orm doctrine acl

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/

相关文章:

php - 使用关联的实体字段设置 slug

php - 特定汉字在 http get 请求期间被错误编码

php - 使用PHP搜索或插入数据到远程mysql数据库

php - 通过ajax上传文件最终出现在php ://input中

php - Uncaught ReferenceError : add_chamber is not defined

symfony - 带连接的 Doctrine querybuilder - hydrate 数组

使用 Symfony 开发模式执行并发请求时 Apache 崩溃

php - symfony2 路由中带点的图案

forms - Symfony 表单创建新对象并创建第一个一对多对象

php - symfony 序列化程序可以反序列化返回子实体类型的嵌套实体吗?