強制的に SSL にするログイン画面があるので、次のようにします: https://www.foobar.com/login ログイン後、ホームページに移動します: https://www.foobar.com/dashbaord
ただし、(CPU を節約するために) ログインしたら SSL からユーザーを移動したいので、実際にhttps://www.foobar.com/dashbaordにログインしていることを確認した直後に、http://に移動し ます。 www.foobar.com/dashbaord
ページが再度実行されると、(すべてのページがそうであるように) ログインされていることが確認され、セッションが存在しないように見えるため、ログイン画面に移動するためです。
奇妙さ/所見:
- リスト項目
- 2 回目のログインは常に機能し、幸いにもhttp://www.foobar.com/dashbaordにアクセスできます。
- 最初のログインで Cookie が正常に作成されます
- 2回ログインしてからログアウトし、再度ログインすると、2回のログインは必要ありません(Cookieが存在するという事実にこれをたどったようです)。Cookie を削除すると、2 回のログインに戻ります。
- 2 回目のログイン後、ssl から非 ssl に移動でき、セッションは持続します。
- 最初のログイン時に、非 SSL サイトに移動するとセッションが完全に消去され、手動で SSL サイトに戻ると、再度ログインする必要があります。
- 最初のログインとまったく同じメカニズムを使用した 2 回目のログイン (ssl 経由)
私が試したこと:
- security.level と session.checkagent の Cake の設定をいじる - 何もない
- Cake でセッションを db に保存する (ファイル システムではなく) - 何もない
- XP マシン上の FF、IE、Chrome でのテスト。
これは、作成されているが読み取られていないCookieに関連しているように感じます。
環境: 1. Debian 2. Apache 2 3. Mysql 4 4. PHP 5 5. CakePHP 6. セッションは PHP のデフォルトでファイルとして保存されます