2016-10-27 6 views
0

私はそれぞれのクライアントが独自のサブドメインを持つシステムを持っています。ユーザーは自分のサブドメインから直接システムにログインできますが、ドメインから直接ログインしてからサブドメインに送信する機会を追加したいと考えています。 セッションは実際のサブドメインにのみ設定され、他のサブドメインやメインドメインには設定されないことが重要です。サブドメインのFROMドメインにPHPセッションを設定する

すべてのログインプロセスはjQuery/AJAXによって行われます。

私が試した次:domain.comで

  • ユーザーがログイン・フォームに記入し、呼び出しがdomain.com/ajax/front-login.phpさせる
  • このAJAXファイルから、ユーザーが検証され、ユーザーが所属するサブドメインが見つかり、PHP POSTコール(file_get_contentsを通じて)がsubdomain.domain.com/ajax/sub-login.phpに作成されます。このファイルは、SESSIONを検証して設定します。
  • 私はそれが理にかなって願ってすべてが正しく行われますが、セッションはsubdomain.domain.com

に設定されていないように見えるコールバックから。助言がありますか?

+0

セッションがサブドメインに設定されていないと言うと、どのように確認していますか?ブラウザでクッキーを探しているだけですか?または、サブドメインにリダイレクトしてセッションをダンプしようとしましたか? –

+0

これはあなたが必要なものかどうかわかりませんが、これをチェックしてくださいhttp://stackoverflow.com/questions/9153716/sharing-session-variables-between-multiple-subdomains –

+0

@JeremyHarrisセッションが設定されていれば、アクセス - ユーザーはログインしていないため、ログインする必要はありません。 –

答えて

0

subdomain.domain.com/ajax/sub-login.phpの先頭にini_set('session.cookie_domain', $subdomain.'.domain.com');を追加します。ここでは、$ subdomainに名前を付けます。

session_start()front-login.phpから削除するか、またはサブドメインがない場合は少なくともif()文でそれを囲みます。

+0

私はそれを試しました。残念ながら、succesはありません。 –

+0

'front-login.php'と' sub-login.php'を投稿に追加できますか?それがうまくいかなかった場合、セッションは 'ini_set()'の前で開始されなければなりません。 – Anuga

+0

ini_setはsession_start()の前に来る必要がありますか? –

関連する問題