使用ACL在CakePHP中查找数据

使用ACL在CakePHP中查找数据,cakephp,acl,Cakephp,Acl,我使用CakePHP2.4.5,我正在查看ACL。我发现它可以在从数据库获取数据之前用作网关守卫。 现在,我希望对数据执行->查找('all'),只从数据库返回允许的项。用CakePHP教程的话来说:“我是阿拉贡,给我所有允许我看/读的东西。” 这就是ACL能为我做的吗?或者这是我只能通过修改查询条件才能实现的吗 谢谢 Bart我认为,您正在寻找记录级别的acl实现。这可能会帮助你:-谢谢。您的参考资料似乎仍在谈论每个记录的检查,了解记录ID。我想做一个findAll(),自动删除不允许的记录。

我使用CakePHP2.4.5,我正在查看ACL。我发现它可以在从数据库获取数据之前用作网关守卫。
现在,我希望对数据执行
->查找('all')
,只从数据库返回允许的项。用CakePHP教程的话来说:“我是阿拉贡,给我所有允许我看/读的东西。”
这就是ACL能为我做的吗?或者这是我只能通过修改查询条件才能实现的吗

谢谢

Bart

我认为,您正在寻找记录级别的acl实现。这可能会帮助你:-谢谢。您的参考资料似乎仍在谈论每个记录的
检查
,了解记录ID。我想做一个
findAll()
,自动删除不允许的记录。没有预先知道记录的ID。在这种情况下,您必须定义自己的查找类型。请按照链接了解更多详细信息。您所问的问题与您实际的问题无关-我已经完成了查找('all')权限函数的这种方法,它将起作用。这是很好和整洁的编码。我是这样做的(不管它是如何用巴西语言表达的,但它确实值得[我是波斯人]),如果你有任何问题,我很乐意帮助你考虑在AppModel的回调中过滤你的行。例如,如果你正在对Post model进行查找,请将Post model的所有行设置为ACOs。现在在acos表中,您将有一行'model'='Post'和'foreign_key'='2',其中2是posts表中该行的id,依此类推。然后,您将在beforeFind()回调中执行Acl::check(),以从Post表中筛选aros_acos表中允许的行。请考虑这将对性能产生的影响。