2013-04-26 22 views
7

少し問題があります。 PHPでモジュールに分割されたアプリケーションを開発しています。各モジュールは完全に独立しており、別個のサーバー上にあり、独自のドメインを持っています。例えば:ドメインが異なる複数のサーバー間でSESSIONを共有する

www.moduloprincipal.com.br、www.modulo2.com.br、www.modulo3.com.br、等...

問題は、私は必要なことであるユーザーが認証するときモジュールのうちの1つ(いずれか)に対して、ユーザは、再度認証することなく、同じユーザの他のモジュールにアクセスすることができる。

現在のところ、各アプリケーションは異なるサーバー上にありますが、必要に応じて同じサーバーにありますが、問題はありません。

重要:

  1. は、複数のスレッドを読んで、ない解決策が本当に安全見つかりました。 OAuthを使うのは興味深いでしょうか?

  2. 現在、アプリケーションではユーザーの認証に$ _SESSIONが使用されていますが、円滑に$ _COOKIEを使用できます。

  3. 私はCodeIgniterの

    Googleが翻訳

翻訳を使用しています。申し訳ありません...あなたが探索することができます私の頭の上から

+0

[http://stackoverflow.com/questions/2033026/sso-with-cas-or-oauth](http:/ /stackoverflow.com/questions/2033026/sso-with-cas-or-oauth) –

答えて

9

つのオプション:

  • そのセッションデータを保存するための同じパスは、 session.save_pathディレクティブを参照してくださいすべてのサーバーを設定します。その場所は、すべてのサーバーがアクセスできるNFS共有 またはNASの場所です。

  • 他の選択肢はそう セッションデータが同じデータベース・サーバーにアクセスするすべての サーバー間で共有することができ、implement a database session handlerにあります。だからcustom session handlersのPHPドキュメント を見てください。 OAuthのは(および代替のための)正しい選択ではない理由、参照してください

+7

彼は、すべてのセッション情報を処理するAPIとして1つのサーバーを動作させることもできます。 –

関連する問題