- ブラウザ:IE9
- フレームワーク: Symfony 1.2
- プラグイン: sfguard
例:
- メインドメイン: domain.com
- サブドメイン: subdomain.domain.com
つまり、メインドメインに移動してログインし、サブドメインに移動すると、すでにログインしています。それは望ましくありません。セッションを別の場所(session_save_path)に保存して修正しました。だからここに私の主な問題があります:
第 1 のシナリオ: メイン ドメインに移動し (ユーザーはログインしていません)、新しいタブを開き、サブドメインに移動します。
2 番目のシナリオ: サブドメインに移動し、新しいタブを開いてメインドメインに移動します。
ユーザーがサブドメインを使用してログインしようとすると、次のようになります。 最初のシナリオ: ユーザーがログインできない場合、アプリケーションはログイン ページにリダイレクトします。2 番目のシナリオ: ユーザーはログインできます。
Fiddler を使用して私が見たものは次のとおりです。 1 番目のシナリオ: ドメイン:
**Response** sent xxx bytes of Cookie data:
Set-Cookie: symfony=drub66g3jlv16ukp1vf00hei42; path=/
サブドメイン:
**Request** sent xxx bytes of Cookie data:
symfony=drub66g3jlv16ukp1vf00hei42;
ログインしようとすると:
Response sent xxx bytes of Cookie data:
Set-Cookie: symfony=9r0bqkmb29gqbe8pnhmae1rsj6; path=/
ホームページにリダイレクト:
Request sent xxx bytes of Cookie data:
symfony=drub66g3jlv16ukp1vf00hei42;
symfony=9r0bqkmb29gqbe8pnhmae1rsj6;
最後のリクエストが同じ Cookie を 2 回送信していることに注意してください。そのうちの1つはメインドメインに対応しています!!! mainDomain Cookie がサブドメイン Cookie を上書きしているようです!!!
しかし、2 番目のシナリオでは、Cookie は次の順序で送信されます: リクエストは xxx バイトの Cookie データを送信しました:
symfony=9r0bqkmb29gqbe8pnhmae1rsj6;
symfony=drub66g3jlv16ukp1vf00hei42;
サブドメイン Cookie が最初に送信されているため、これは機能しているようです。
サブドメインのアンダースコアに問題があることを確認しましたが、それは私の場合ではありません.ieをすべてのCookieを受け入れるように設定し、行ったすべてのテストについて、最初にすべてのCookieとキャッシュをクリアします.
symfony 1.2 が古いことは知っていますが、現在 symfony 2 に移行することはできません。これは symfony に関する問題ではないと思いますが、.