使用蛋糕acl我想设置登录用户的权限。我有这样的登录功能:acl权限
if ($user = $this->Auth->user()) {
CakeLog::write('debug', 'this->Auth->user');
//debug($user['User']);
$userGroup = $this->User->Group->findById($user['User']['group_id']);
$aro = $this->Acl->Aro->find('first', array(
'conditions' => array(
'Aro.model' => 'Group',
'Aro.foreign_key' => $this->_user['User']['group_id'],
),
));
$acos = $this->Acl->Aco->children();
foreach ($acos as $aco) {
$permission = $this->Acl->Aro->Permission->find('first', array(
'conditions' => array(
'Permission.aro_id' => $aro['Aro']['id'],
'Permission.aco_id' => $aco['Aco']['id'],
),
));
if (isset($permission['Permission']['id'])) {
if ($permission['Permission']['_create'] == 1 ||
$permission['Permission']['_read'] == 1 ||
$permission['Permission']['_update'] == 1 ||
$permission['Permission']['_delete'] == 1) {
$this->Session->write(
'Auth.Permissions.' . $permission['Aco']['alias'], true
);
if (!empty($permission['Aco']['parent_id'])) {
$parentAco = $this->Acl->Aco->find('first', array(
'conditions' => array(
'id' => $permission['Aco']['parent_id']
)
));
$this->Session->write(
'Auth.Permissions.' . $permission['Aco']['alias']
. '.' . $parentAco['Aco']['alias'], true
);
}
}
}
}
}
我收到此错误:
未定义的属性:UsersController :: $ _用户[APP \控制器\ users_controller.php中,行82]
我可以用'$ this - > _ user ['User'] ['group_id']'来更改'$ this - > _ user ['User'] ['group_id']',这是否正确。如果不是我应该设置公共$ _user =?
感谢
什么是第82行?所有的错误意味着你缺少类上的$ _user变量。 – jeremyharris
这是行82'Aro.foreign_key'=> $ this - > _ user ['User'] ['group_id'],' – rstewart
我可以设置_user变量,但是_user应该设置为什么?它是否与$ user ['User'] ['group_id']相同? – rstewart