在将数据发送到订阅服务器(NServiceBus)之前对其进行筛选

本文关键字:筛选 NServiceBus 数据 服务器 | 更新日期: 2023-09-27 17:57:51

我有很多客户端,当新数据添加到我们的一个DB表中时,它们需要得到通知。我想创建一个服务,每X秒检查一次表,并在存在任何新数据时通知客户端。问题是,每个客户端都有不同的权限,不允许查看所有信息。我想过使用NServiceBus之类的东西来发布带有新信息的消息,但在发送之前,我需要根据每个客户端的权限对信息进行过滤。在发送信息之前需要进行过滤(不允许我在客户端执行过滤)。

NServiceBus中是否对此有内置支持?

如果没有,我该如何实现这个目标?

编辑:下面是我在下面的评论中写的一个例子:比如说我有一个图书馆。每个客户都有兴趣收到关于添加到图书馆的新书的即时通知,但每个客户只允许收到关于某一类型的通知。系统应向所有客户发送包含新书信息的通知,但每个客户只应收到关于其特定类型的通知。出于安全原因,我无法过滤客户端中的数据。

谢谢。

在将数据发送到订阅服务器(NServiceBus)之前对其进行筛选

一个潜在的选择是只允许某些客户端订阅他们可以看到的流派。NSB提供IAuthorizeSubscriptions接口,允许您确定允许谁订阅邮件。通过按类型划分消息,您可以使用授权界面允许/拒绝订阅这些类型的消息。