ユーザーがアクセスできるデータのみを取得できるように、Webサイトのメッセージングシステムを保護する方法を探しています。これを念頭に置いて、サーバーがすべてのメッセージを送信するマスタートピック交換があるシステムを考えました。
Webサイトは、各ユーザーのsessionIdを保持しています。ユーザーが認証されると、sessionIdという名前の別の交換が作成されます。クライアント側のユーザーは、マスター以外のすべての交換にバインドできます。sessionIDは一意であるため、別のユーザーのsessionIDを推測してバインドし、メッセージを取得することは非常に困難です。
各メッセージには、sessionID.destinationのルーティングキーがあります。クライアント側は、すべての潜在的な宛先を知っています。
視覚化に役立てるために:
-> SessionID Exchange -> client
Server -> master Exchange | -> SessionID Exchange -> client
-> SessionID Exchange -> client
私の質問は2つあります。交換をrabbitmqの交換にバインドすることは可能ですか?また、誰かが以前にこのようなシステムをセットアップしたことがありますか?むしろ、このトピックの経験がある人は、私が使用できる実用的なシステムをすでに持っていますか?
よろしくお願いします。