質問: $this->User->findByid($cond); これをfunction beforeFilter()で共通処理にしようとも考えましたが、$userが他のfunctionからは参照できませんでした。 (function間では変数を参照できない?)
回答: 認証テーブルのデータは頻繁に更新されるのでしょうか? もし、認証情報が含まれたテーブルが頻繁に更新する必要があるのであれば、テーブルの設計自体を検討し直すのが一番しっくり来る気がします。 どうしても現状のままでということであれば、認証情報を含んだモデルが更新された時点で、ログアウトする仕様に変更する、あるいは、システム的に一度ログアウトしてログインする。 というのはいかがでしょうか? こうすることで、authComponentがセッション中に保持している情報を更新すれば、とりあえずは期待する動作になるかと思いますが。 少なくとも、更新よりは参照の方が回数ははるかに多いと思うので、各アクセスごとに問い合わせるのはパフォーマンス的にもよくない気がします。 何かの参考になれば。