めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

キャッシュ(cache)と認証(auth)を組み合わせたい時

CakePHP 1.2 で標準で付いてくるキャッシュと、認証を組み合わせたいとき、どんな風に活用したらいいんだろう?
モデルもキャッシュされているせいだと思うのだけれど、モデルがキャッシュされないとキャッシュの意味が少ないし。認証(auth)のコンポーネントに対してキャッシュするかしないかを決める方法があるんだろうか?

テンプレート

当然のようにノーキャッシュを設定

コントローラーのbeforeFilter()

ここで

$this->cacheAction = false;

としたらコントローラー全体がfalseになった。これじゃだめ

コントローラーのbeforeRender()

ここで

$this->cacheAction = false;

としたらコントローラー全体がfalseになった。beforeFilter()と同じ結果に。

一つ一つのアクションで

$this->cacheAction = false;

として認証処理をすれば、問題ないけれど、当たり前。

ドキュメントを読むと

ここにsessionでログイン状況を判別しているらしい
sessionの中身を見ていたけれど、それらしいのはなくて...それもおかしいし。うん?