如何限制客户端访问另一个客户端消息

How to restrict client accessing another client messages

有 2 个客户端(AB)连接到 ActiveMQ Artemis 代理。我们使用的协议是 MQTT。两个客户都订阅了不同的主题模板。例如,客户端 A 的订阅主题模板为 school/readings/#,客户端 B 的订阅主题模板为 Domestic/readings/#

我们的服务器将使用各自的模板订阅所有主题。

如果客户端 B 决定通过订阅主题(#school/#)将所有传入消息读取到代理,则可能存在数据泄漏。这里的要求只是我们的服务器要订阅所有的主题,其他客户端对主题订阅有限制。

有什么方法可以限制客户订阅或者有什么方法可以避免这种类型的数据泄露吗?

两个客户端都应该有发布和订阅代理的权限,但是一个客户端不应该订阅另一个客户端的主题。

没有数据泄漏,除非您配置了授权规则并且它们没有被强制执行,或者您找到了一种方法来在启用安全性时获得未经授权的访问(在这种情况下打开一个错误 here). Please, find out here 文档如何使用 security-settings 为您的用例配置授权规则。