私が持っている CakePHP アプリに ACL を実装していますが、ACO の設定に苦労しているようです。私は単純な ACL 制御アプリケーションのチュートリアルに従っており、 aros、acos、 aros_acos テーブルを適切にセットアップしました。
今、私は ACO を設定しなければならない部分にいます。正直なところ、少し迷っています。このチュートリアルでは、コンソール プラグインを使用して ACO を登録します。ただし、このNet Tutsは次を使用して手動で追加します。
$aco = new Aco();
$aco->create();
$aco->save(array(
'model' => 'User',
'foreign_key' => null,
'parent_id' => null,
'alias' => 'User'
));
$aco->create();
$aco->save(array(
'model' => 'Post',
'foreign_key' => null,
'parent_id' => null,
'alias' => 'Post'
));
この手動コードを使用して、User コントローラーと Post コントローラー全体の ACO を作成しています。わかりました。ユーザーコントローラーの編集アクションなどのためにACO をセットアップしたい場合はどうすればよいでしょうか? その構文はどのように見えますか?
表示されているプラグインを使用するよりも、コントローラーの install_aco() 関数内でこのようにコーディングした方がよいと思います。
または... ACLをまったく使用せずに、Authを使用してコントローラー/アクションへのアクセスを制御することはできませんか? たとえば、ユーザー テーブルに「ロール」フィールドを追加し、コントローラの beforeFilter() でロールを確認して、正しいロール/権限がない場合はユーザーをリダイレクトできます。これのマイナス面は何ですか?
とにかく、ここでの助けに本当に感謝しています。読んでくれてありがとう。