如何创建ACO?

时间:2011-03-30 13:11:57

标签: cakephp acl

我认为我CakePHP中的几乎所有内容的基础都不明显,直到Access Control Lists,现在我在11.2.5 Creating ACOs (Access Control Objects),我不明白我必须把{{}}放在哪里{1}}方法:

AclComponent

我应该在哪个文件中插入此代码?

我是否可以在某些特定声明中插入? 我不明白这条线的确切含义,所以我无法确定它应该在何时何地运行,这段代码的作用以及何时应该有效?

3 个答案:

答案 0 :(得分:0)

您可以在任何需要创建Aco-s的地方插入。在app_controller或任何控制器中。

答案 1 :(得分:0)

Cookbook中的这个页面为您提供了一个非常好的自动创建ACO的工具:

http://book.cakephp.org/view/647/An-Automated-tool-for-creating-ACOs

如果将build_acl函数添加到AppController,则可以从任何控制器运行它,并为您生成ACO。它在使用ACL的应用程序中总能很好地工作。

答案 2 :(得分:0)

创建ACO记录的想法是,如果项目结束(意味着没有创建新操作),则不需要在acos数据表中插入任何内容。这些方法旨在被调用一次或仅被调用几次。

然后由您来决定放置这些代码行的位置,因为无论如何您可能会在之后删除它们。

或者,要填充acos数据表,您还可以使用此插件http://www.alaxos.net/blaxos/pages/view/plugin_acl自动检测新操作并建议相应地完成acos数据表。