2017-07-21 6 views
1

以下の2つのユースケースでベストプラクティスをアドバイスしてください: 1番目のユースケース: 2人のディスパッチャー(D1とD2)と2人のパブリッシャーP2)をTarMKで処理した。 D1は常にP1に要求を送信し、D2は常にP2に要求を送信します。ロードバランサは、要求をD1またはD2に送信します。マルチディスパッチャーの設定でユーザートークンを同期する方法

第2のケース: 私は、D1がP1またはP2のいずれかの要求を送信でき、D2がP1またはP2のいずれかの要求を送信できる別の設定を行っています。ロードバランサは、要求をD1またはD2に送信します。

このアプリケーションでは、ユーザートークンはユーザーが正常に認証されたときに作成されます。このトークンは、/ etc/keyにあるキーに基づいて作成されます。/etc/keyの下にあるキーは、P1とP2の両方で異なります。

ユーザーがP1にログインしていて、P1がダウンした場合は、 1)ユーザーにログインを求めずにユーザーをP2にリダイレクトするにはどうすればよいですか。 2)P2にユーザートークンを複製するにはどうすればよいですか?

私はリバースレプリケーションを使用したくありません。そのようなデザインのベストプラクティスは何ですか? P1とP2の両方で同じキー/ etc/keyを保持する必要がありますか?

答えて

1

P1とP2の両方で同じキー/ etc/keyを保持する必要がありますか?

短い答え:はい

詳細

AEMは、パブリッシャファーム間で認証済みのユーザーをサポートするためにEncapsulated Tokensを使用しています。

クラスター内のすべてのパブリッシャー間でHMACキーを同期することを推奨する場合は、障害発生時に各ディスパッチャー間でパブリッシャーまたはクラスターパブリッシャーごとに1つのディスパッチャーを使用する両方のシナリオを実行する必要があります。

これは、AEMはステートレス認証を中心に設計されていますが、トークンが/etc/keyパスの下に格納されているのと同じHMACキーで暗号化および復号化する必要があります。指示にhere

に従うことによって達成することができますこれらのキーを同期させない限り、あるインスタンスが別のインスタンスからトークンを理解する方法はありません。これは、AEM認証の設計/機能です。

+0

私はP1の要求オブジェクトにいくつかの属性を設定しました(D1はP1に要求を送信します).D1がP2に要求を送信すると、この属性は要求に使用できなくなります。 P2の対象。この場合、スティッキーセッションが推奨されますか、それとも別の方法がありますか? –

+0

これは、より明確にする必要があるので、コメントで答えるのはもっと複雑な質問です。私はそれが適切に答えることができるように新しい質問を作成することをお勧めします。 –

関連する問題