CakePHP 2アプリにグループ(ロール)ベースのACLシステムを実装しています。
これで、ACLがデータの将来の変更に応じてaco / aroテーブルに自動的にデータを入力することを理解しましたが、既存のデータに関してこれらのテーブルを埋めるにはどうすればよいですか?既存のデータを管理する方法をカバーするドキュメントはほとんど見つかりませんでした。
モデルを分割する方法は次のとおりです。
グループモデルは、リクエスターと制御の両方です。4つのグループがあります。
public $actsAs = array(
'Acl' => array('type' => 'both')
)
私はユーザーモデルを持っています。これは、リクエスターの動作のために制御され、グループにバインドされています。既存のユーザーは11000人弱です。
public $actsAs = array(
'Acl' => array('type' => 'controlled')
)
function bindNode($user) {
return array('model' => 'Group', 'foreign_key' => $user['User']['group_id']);
}
そして、私は制御されている他のいくつかのモデルを持っています。モデルは、クライアント(260エントリ)、メモ(500エントリ未満)、および登録(約20000エントリ)です。
public $actsAs = array(
'Acl' => array('type' => 'controlled')
)