PR

CakePHP – ACL(3)

マニュアル10.2.3~10.2.4の作業

ACL のデータベーステーブルの初期化 :: ACL を制御するシンプルなアプリケーション :: 開発例 :: マニュアル :: 1.2 Collection :: The Cookbook :
http://book.cakephp.org/ja/view/644/Initialize-the-Db-Acl-tables

上記作業はbakeする際にエラーが出たので先に作業しているので飛ばす。

リクエスタとして振舞う :: ACL を制御するシンプルなアプリケーション :: 開発例 :: マニュアル :: 1.2 Collection :: The Cookbook :
http://book.cakephp.org/ja/view/645/Acts-As-a-Requester

スポンサードリンク

User モデルに次のコードを追加

var $name = 'User';
var $belongsTo = array('Group');
var $actsAs = array('Acl' => 'requester');

function parentNode() {
    if (!$this->id && empty($this->data)) {
        return null;
    }
    $data = $this->data;
    if (empty($this->data)) {
        $data = $this->read();
    }
    if (!$data['User']['group_id']) {
        return null;
    } else {
        return array('Group' => array('id' => $data['User']['group_id']));
    }
}

Group モデルに以下を追加

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

function parentNode() {
    return null;
}

※続きは次回

コメント