gpt4 book ai didi

cakephp - ACL、ARO 和 ACO,如果有新的部分,如何更新它们?

转载 作者:行者123 更新时间:2023-12-04 06:30:13 26 4
gpt4 key购买 nike

我试图了解如何使用 AROsACOs如果我在我的网站中添加了一个部分。
CakePHP导游很清楚如何概念ACL工作,但不是关于它应该如何在代码中实现。我个人发现教程的所有部分都不清楚如何在 CakePHP 中使用它们。框架。这似乎是CakePHP 中最不友好的部分框架。

现在,当我进入我创建的新部分时,出现此错误,我不明白如何修复它。

Warning (512): DbAcl::check() - Failed ARO/ACO node lookup in permissions check.  Node references:
Aro: Array
(
[User] => Array (
[id] => 1
[username] => vittorio
[group_id] => 1
[created] => 2011-03-30 10:51:23
[modified] => 2011-03-30 10:51:23
[viewable] => 0
)

)

Aco: controllers/Works/index [CORE/cake/libs/controller/components/acl.php, line 273]

如果我看着
http://book.cakephp.org/view/647/An-Automated-tool-for-creating-ACOs
并在
http://book.cakephp.org/view/996/Creating-Components#!/view/1548/Creating-ACOs-Access-Control-Objects

我应该得到答案,但是如果我运行此代码调用 url mysite.com/build_acl再次我只收到这些错误:
Missing Controller

Error: BuildAclController could not be found.

Error: Create the class BuildAclController below in file: app/controllers/build_acl_controller.php

<?php
class BuildAclController extends AppController {

var $name = 'BuildAcl';
}
?>

Notice: If you want to customize this error message, create app/views/errors/missing_controller.ctp

是否存在一个像样的指南谁谈论 ACL , AROsACOs以及如何在 CakePHP 上实现它们不让读者迷失?

最佳答案

维托里奥,

恕我直言,ACL 和 AUTH 的组合是一个非常通用的工具。第一次让它工作让我很恼火。我一遍又一遍地看到的主要错误是:

  • 不是 调用 build_acl在创建一个或多个新操作之后。
  • 不是 初始化新出现的设置(新鲜 ACL 节点作为输出
    上一步)具有适当的访问权限
    权利。
  • 不是 调用 parent::beforeFilter()在从父级继承的每个 Controller 中 app_controller (因为此方法中通常存在关键设置)。
  • 尝试保存 foobared 设置,而不是再次阅读本书末尾的 Auth+Acl 教程。它有效(无意冒犯),很多人以前都做过,所以你也可以(我不是说它是瞬间完成的)。
  • 重新发明轮子:经过基本功能 Auth+Acl tutorial ,查看 sourceforge 和 github 上的插件。
  • 不是 重新发明轮子 ^^,afaik 完美的 AUTH+ACL 管理插件尚未编写(但确实存在可用代码)

  • 旅途愉快,本杰明。

    编辑0
    基本的代码卫生有帮助,例如如果您允许用户作为请求对象和操作作为受控对象,那么编写 build_acl() 是有意义的。进入users_controller,直接跟着,例如 init_db() ,您可以在其中集中设置访问权限。
    不要忘记在投入生产之前删除这些 hack,即使再次设置正确的访问权限不会造成太大伤害,但是想象一下,如果 john doe 和他的 friend 一直运行此功能,他们会对您的应用程序做些什么 Ü

    关于cakephp - ACL、ARO 和 ACO,如果有新的部分,如何更新它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5516396/

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