我正在开发CakePHP 2的插件,但我不知道如何为它定义ACL。
就像处理应用程序一样吗?还是以另一种方式解决了?
谢谢!
我今天尝试自己解决同一问题时遇到了您的问题。假设您已经遵循CakePHP教程“简单ACL控制的应用程序”,那么我的答案将是最有意义的。
要直接回答您的问题,答案是肯定的。定义ACO(访问控制对象)与任何应用程序控制器相同。稍加修改。首先,您创建一个ACO记录来表示插件本身,该记录使用根ACO作为parent_id。插件控制器随后将使用插件ACO作为其parent_id(插件控制器操作将使用插件控制器ACO作为其parent_id)。
这有意义吗?
对于因成功建立了ACL / Auth控制的应用程序而到达此处的任何人,已经构建了一个自定义插件(旨在通过url访问它),则正确配置的ACL和STILL无法访问其插件。我想提供以下建议,这使我花费了几天的不懈努力。
就我而言,我开发了一个插件来充当简单的资产管理器(添加目录,上传/下载文件),称为“资产”。在设置插件AppController和AppModel以允许通过URL访问时,我遵循了确切的蛋糕规范。正确配置ACL后,我仍然无法访问插件控制器/操作。最后,导致此问题的是位于我设计为起作用的元素中的“ requestAction”具有顶部和侧面导航。为了缓解该问题,所需要做的就是向URL数组添加“ plugin” => null。
$ this-> requestAction(array('controller'=>'users','action'=>'get_side_navigation'));;
$ this-> requestAction(array('plugin'=> null,'controller'=>'users','action'=>'get_side_navigation'));;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句