14時の間食

CakePHPの記事を中心にWeb制作について

CakePHP2.1 認証(Auth)コンポーネントのdenyが効かないんでない?

CakePHP

全てのアクションを許可するよ。ただしmypage、テメーはダメだ。 という設定をしようとして意外にもハマったのでメモ。

//全てのアクションを許可
$this->Auth->allow('*');
//mypageだけはログインしないとだめ
$this->Auth->deny('mypage');

1.3系ならこう書きたくなるところですが、2.X系では、全てのアクションを指定する時、カッコの中のアスタリスクが要らないようです。
'*'←このちっこいアスホールみたいなアスタリスク不要。犯人はアス

こっちが正解

//全てのアクションを許可
$this->Auth->allow();//+
//mypageだけはログインしないとだめ
$this->Auth->deny('mypage');

ちなみに先のコードでもallow()は正常に動作はします。deny()だけ機能しません。
なので、てっきり問題はdeny()にあるんだろうと思って調べていたら見当違いでした。

カテゴリー

最近の記事

Author

  • ささきち-このブログを書いてる人
    s3make@ささきち
    多摩川沿いに住むフリーのWebデザイナーです。近所のイオンによく行きます。