CakePHP2.9での出来事。
ModelでAuthコンポーネントの情報を使いたかったので以下のようにしてAuthコンポーネントを呼び出しました。
$Auth = new AuthComponent(new ComponentCollection());
情報は正しく取得できたのですが、問題はログアウト後。
ログアウトした状態でもなぜか情報が取得できてしまいます。
あたりまえですが、ログアウト後にコントローラーで
$user=$this->Auth->user();
というように通常のやり方でコールすれば、ちゃんと消えています。
新しくAuthComponentを生成した場合のみダメなようです。
ちなみに、ブラウザによるらしく、試した限りでは
Egiはちゃんと消えていましたが、Cromeは残ったままでした。(Firefoxは調べ忘れた)
なんかSession回りの実装の違いか何かのような気がしますが、詳しく調べていません。
とりあえず、
$Auth = new AuthComponent(new ComponentCollection());
というのは使ってはダメ!と覚えておくことにします。
2017年3月15日追記
後日、検証してみたのですが再現しなくなってしまいました。
ネットワーク構成を変えたときに原因不明のセッション回りの不具合が発生していましたので、そのせいかと思われます。
ですので撤回!