CakePHPでAuthコンポーネントを使いログイン回りを実装していた時、レスポンシブ対応でchromeのDeveloperToolsのデバイスを変更するたびにセッションが切れてログアウトになってしまうので、何でだろうと調べてみた結果、CakePHPは同一セッションでUser-Agentが異なるリクエストがあった場合、セキュリティ的によろしくないということで、セッションを削除してしまうということらしい。
Session.checkAgent - ユーザーエージェントはチェックされるべきです。 ユーザーエージェントがセッションとマッチしない場合、そのセッションは破棄されます。
確かに実運用上はこれの方がいいけども、デバッグ時はこれだと面倒なので、設定を変更。
core.php
if (Configure::read('debug') != 0) {
Configure::write('Session.checkAgent', false);
}