Cake PHP ACL TOPページへのアクセスを設定する

PHP

CakePHP Cake PHP のTOPページへのアクセスをコントロールする

cake PHP 1.2.3.8166.

Cake PHPでサイトを作成していった時、webroot/へアクセスするアクセスコントロールの設定です。

なお、手動でACLを設定されている方にはあまり参考にならないかもしれません。

本家のマニュアルサイトを見て、自動でACOリストを生成してくれるfunction initDB() を使った場合の話です。

DBからACOをみると、

 Pages
 - display

というACOが作成されていて、?と思います。
このPages、がwebroot/へのアクセスのACOのようです。

ここにアクセスできるようにしておかないAROは、webroot/へアクセスすると自動ループになってしまい、Webサーバーが落ちるとか、ブラウザが応答しません。
どうやら、webroot/へのアクセスのリダイレクトがwebroot/になっているからのようです。

また、他のコントローラーで細かく設定したACLが自動ループになってしまうのも、得てしてこれが原因かもしれません。
戻りページがない場合、webroot/へリダイレクトされるようになっているようです。

なので、TOPページ(webroot/)へのアクセスを、前述のfunction initDB()内に下記のように書きましょう。

 // 例:グループIDが6のグループにTOPページへのアクセスを許可する場合
 $group->id = 6;
 $this->Acl->allow($group, 'controllers/Pages');

参考:CakePHP マニュアルサイト Pages Controller

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です