私はセッションをしたいと思ういくつかのドメインを持っています。 私は次のようなメソッドを作成しました:同じセッション、異なるドメイン、セッションIDを設定
ユーザのログインは中央の場所で行われ、セッションはデータベースに保存されます。
は、ユーザAがabc.comドメインに行きたいとしましょう。私のアプリは彼がログインしているメイン認証ドメインにリダイレクトします。 ログイン後、セッションテーブルのフィールドに保存された認証トークンが生成され、abc.comアプリケーションに戻されます。
私はauth_tokenを使用してデータベースからsession_idを取得し、abc.comのsession_idを同じに設定します。
問題は、それがオールウェイズ新しいセッションを作成することです。
これは私が行方不明です何abc.com
$sessionId = // get from the database using the auth_token.
/* CLOSE PREVIOUS SESSION */
session_destroy();
// sets the new id.
session_id($sessionId);
/** start new session * */
session_start();
の私のコードです?。 私はsymfonyフレームワークでphpを使用しています。 symfonyのセッション処理に関連しているかどうかは分かりません。
は同じサーバー上のドメインですか?ここでは、あなたがしたいことを正確に示す例があるリンクがあります。あなたが正しいことをしているように見えるので、あなたのフレームワークがそれを止める可能性があると言います。 http://www.gonnalearn.com/2008/04/10/sharing-session-data-across-domains-with-php/ – Robert
使用しているsymfonyのバージョンは何ですか? 1 symfony内に2つのドメイン2アプリケーションがインストールされているのですか? – MrGlass
ドメインの1つは、Symfony 1.4と他のSymfony 1.3を実行しています。そして、はい、ドメインは同じサーバーにあります。 – brpaz