我的问题出在这一步:
我们的控制器和模型现在已准备好添加一些初始数据,并且我们的 Group 和 User 模型绑定到 Acl 表。因此,通过浏览到http://example.com/groups/add和http://example.com/users/add使用烘焙表单添加一些组和用户。我做了以下小组:
当我尝试打开 */groups/add 或 */users/add 时,我收到错误“您无权访问该位置”。
我该如何解决这个问题?
这里是我的 GroupModel 和 UserModel。
团体:
<?php
App::uses('AppModel', 'Model');
/**
* Group Model
*
*/
class Group extends AppModel {
/**
* Display field
*
* @var string
*/
public $displayField = 'name';
public $actsAs = array('Acl' => array('type' => 'requester'));
public function parentNode() {
return null;
}
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow();
}
}
用户:
<?php
App::uses('AppModel', 'Model');
/**
* User Model
*
*/
App::uses('AuthComponent', 'Controller/Component');
class User extends AppModel {
public $belongsTo = array('Group');
public $actsAs = array('Acl' => array('type' => 'requester'));
public function parentNode() {
if (!$this->id && empty($this->data)) {
return null;
}
if (isset($this->data['User']['group_id'])) {
$groupId = $this->data['User']['group_id'];
} else {
$groupId = $this->field('group_id');
}
if (!$groupId) {
return null;
} else {
return array('Group' => array('id' => $groupId));
}
}
public function beforeSave($options = array()) {
$this->data['User']['password'] = AuthComponent::password($this->data['User']['password']);
return true;
}
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow();
}
}