gpt4 book ai didi

php - CakePHP 1.3 : Alaxos ACL Plugin not recognizing Pages Plugin

转载 作者:行者123 更新时间:2023-11-29 14:35:43 26 4
gpt4 key购买 nike

我一直在使用 CakePHP 进行开发,Alaxos ACL 插件给了我很大帮助。

但是,我遇到一个问题,我不知道如何解决?

我添加了一个名为“pages”的插件,但我无法让 ACL 查看它,因此它被添加到允许/拒绝操作列表中。

如果我通过domain.com/pages/pages 访问插件,则会收到以下错误

DbAcl::check() - Failed ARO/ACO node lookup in permissions check.

当我检查 ACL 插件显示时,没有对页面 Controller 的引用,如果我运行 ACL 构建功能,它只是说没有任何可添加的内容。

是不是因为这个 Controller 名为pages,并且Cake中已经有pages Controller 了?

如果是的话我该如何解决?此时我唯一的选择是将其手动添加到数据库中吗?我应该通过这个插件并将页面重命名为其他名称吗?或者还有什么我应该做的吗?

谢谢

最佳答案

我在这里看到两件事。首先,就像您怀疑的那样,在应用程序中拥有两个共享相同名称的类是一个坏主意。它可能会以某种方式给你带来一些问题,比如实例化了错误的类等等。由于 Cake 不使用命名空间,因此不建议这样做。

然后,即使您更改此名称,如果您要使用 ACL 管理的 Controller 是“默认” Controller (与插件同名的 Controller ),也会出现另一个问题。当路径包含两次相同的名称时,ACO 节点检索会出现问题,插件默认 Controller 就是这种情况。

controllers/Pages/Pages/index

所以我决定从 ACL 插件支持的 Controller 中跳过插件默认 Controller 。

如果您是此插件的作者,您可以重命名它(因为 PagesController 已经存在),并将操作移动到默认 Controller 之外的其他 Controller 中。

关于php - CakePHP 1.3 : Alaxos ACL Plugin not recognizing Pages Plugin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9102439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com