1

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

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

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

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

谢谢。

4

1 回答 1

2

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

于 2011-06-01T13:20:24.990 回答