1

DBテーブルの1つに新しいデータが追加されたときに通知する必要のあるクライアントがたくさんあります。X秒ごとにテーブルをチェックし、新しいデータが存在する場合はクライアントに通知するサービスを作成することを考えています。問題は、各クライアントが異なる権限を持っており、すべての情報を表示することを許可されていないことです。NServiceBusのようなものを使用して新しい情報を含むメッセージを公開することを考えましたが、送信する前に、各クライアントのアクセス許可に従って情報をフィルタリングする必要があります。情報を送信する前にフィルタリングを実行する必要があります(クライアント側でフィルタリングを実行することは許可されていません)。

NServiceBusにこれに対する組み込みのサポートはありますか?

そうでない場合、どうすればこの目標を達成できますか?

編集: これは私が下のコメントに書いた例です:私が本の図書館を持っていると言います。各クライアントは、ライブラリに追加された新しい本に関する通知をすぐに受け取ることに関心がありますが、各クライアントは特定のジャンルについてのみ通知を受けることができます。システムは、新しい本の情報を含むすべてのクライアントに通知を送信する必要がありますが、各クライアントには、特定のジャンルについてのみ通知する必要があります。セキュリティ上の理由から、クライアントのデータをフィルタリングできません。

ありがとう。

4

1 に答える 1

2

潜在的なオプションは、特定のクライアントに、表示が許可されているジャンルのサブスクライブのみを許可することです。NSBは、IAuthorizeSubscriptionsインターフェースを提供して、メッセージのサブスクライブを許可されているユーザーを判別できるようにします。メッセージをジャンルごとに分割することで、認証インターフェースを使用して、それらのジャンルへのサブスクリプションを許可/拒否できます。

于 2011-06-01T13:20:24.990 に答える