gpt4 book ai didi

mysql - 为什么我的 CakePHP ARO 没有被创建?

转载 作者:行者123 更新时间:2023-11-29 03:45:28 26 4
gpt4 key购买 nike

我遵循了 CakePHP Cookbook 的简单 ACL 应用程序教程,并在一段时间内一切顺利。当我创建一个用户时,我的 ARO 也会自动创建,无需太多努力,我就能为每个人授予正确操作的权限。

不过,我的申请现在变得更加复杂了。当我创建“Realtor”时,我在 Realtor 模型的 afterSave 函数中为他们创建了一个用户,如下所示:

App::import( 'Component', 'Auth' );
$this->Auth = new AuthComponent();

$this->User->create();
$this->User->set(array(
'username' => $this->data['Realtor']['email'],
'password' => $this->Auth->password($this->data['Realtor']['password']),
'usergroup_id' => 2,
'realtor_num' => $this->id
));
if ($this->User->save()) {
$this->save(array('user_id'=>$this->User->id));
} else {
//error
}

不幸的是,虽然这成功创建了用户,并且数据似乎都符合我的预期,但我似乎不再获得 ARO。

我的用户组模型包含行

var $actsAs = array('Acl' => array('type' => 'requester'));

除此之外,我不知道如何说服我的应用程序生成 ARO。
有什么我可能忘记的事情可以帮助我让我的 ACL 重回正轨吗?

编辑:

我在 User 模型的 afterSave 中有这个,它似乎造成了各种问题:

function afterSave($created) {
if (!$created) {
$parent = $this->parentNode();
$parent = $this->node($parent);
$node = $this->node();
$aro = $node[0];
$aro['Aro']['parent_id'] = $parent[0]['Aro']['id'];
$this->Aro->save($aro);
}
}

(由本文提供:http://mark-story.com/posts/view/auth-and-acl-automatically-updating-user-aros)我不知道这是否会以某种方式破坏我的 ARO 创作......可能会教我添加随机代码片段而不完全理解他们在做什么,至少!

最佳答案

好吧,我是新手
我不明白你的问题,但是
现在我将 Acl 组件与 alaxos acl 插件一起使用
我试着理解修改后的树遍历算法
并为aro,aco,aro_aco,group表设置基础数据
和插件的一些要求
我建议你使用 this

关于mysql - 为什么我的 CakePHP ARO 没有被创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6336329/

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