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デザイナーです。近所のイオンによく行きます。