2011-01-13 1 views
2

私は、グループAのユーザーが1組のマシンに保管され、グループBのユーザーが別のマシンのセットに所属するという要件を満たしている、春季ベースのシステムを構築しています。グループAのサーバーには、そのグループのユーザーのみのデータと、他のグループのユーザーのデータが保存されます。私は現在、ユーザーを正しいサーバーにリダイレクトする認証/リダイレクタサービス(ログインサービス)を想定しています。したがって、ユーザーはすべてlogin.example.comにアクセスしてa.example.comとb.example.comにリダイレクトできますリソースとユーザーを分割する

ユーザーはグループAからグループBにシームレスに移行することができるはずですユーザーがグループAとグループBに所属したい場合は、何とか可能でなければなりません。

私はOAuthとそれを行うためのいくつかの "ハッキー"方法を探していましたが、この問題が他の人によってどのように処理されているか知りたいと思います。

+0

ユーザーがグループを変更したときのデータ移行はどうですか?そして、両方のグループに所属しているときにデータはどこに行きますか? – Twister

+0

ユーザーは2つのグループに分けることはできません。それは、あなたが東海岸グループまたは西海岸グループのいずれかであると考えてください。どちらも決してそうではありません。 –

答えて

1

Webサーバーとアプリケーションサーバーが分離しているアーキテクチャの場合、Webサーバーの負荷分散機能を使用してユーザーを誘導できます適切なアプリケーションサーバーに送信します。

ロードバランシングは、HTTPヘッダー、要求パラメーターなど、HTTP要求(使用するロードバランシングソフトウェアによって異なります)のさまざまなプロパティーで実行できます。ヘッダー値のバランスをとると、ユーザがどのアプリケーションサーバに向かうかを決定するためのクッキー。

1

これは(あなたが別の方法でそれを行うことができるかもしれない) あなたがそれらのサーバのいずれかにユーザーを割り当てることができますとして、私は

  1. を想定してあなたのユーザーを維持するために中央データベースを必要とする/私の提案ですパスワード。
  2. このユーザーデータベースでは、各ユーザーのメンバシップを定義する別のテーブルが必要です。
  3. ユーザーの認証にスプリングセキュリティを使用します。ことを確認するために、あなたのコード内の
  4. ユーザー宣言による認可あなたの春のコンテキストにそのリソースを注入
  5. サーバ番号(ID)を定義するプロパティファイルを追加し、各サーバに
  6. (あなたは、ここでは異なる認証メカニズムを使用することができます)ユーザーはアイテム4で提供されているサーバーIDと同じグループに属します。
関連する問題