Я сделал cakephp acl controlled application tutorialCakePHP 2.4.2 учебник вопрос ACL
моя проблема на этом шаге:
Наши контроллеры и модели теперь нацелен на добавление некоторых исходных данных, и наши модели пользователей и групп привязаны к таблице 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();
}
}
Это может быть хорошей идеей, чтобы сделать учебник до конца, где он объясняет, как предоставить доступ ... – burzum