2017-06-08 30 views
0

我正在尋找一種方法來限制用戶只能訪問專門的主題,例如:如何MQTT限制用戶只有一個話題

USER1應該只能訪問用戶1 /#主題, 所以他可以訂閱/發佈USER1 /傳感器/ 1USER1/CONF /模式但不USER2 /傳感器/ 2

類推USER2應該公頃僅訪問用戶2 /#與所有子主題。

我可以通過使用ACL設置在eMQTT代理中實現,但在RabbitMQ中找不到類似的代碼。我已經在我的項目中使用了AMQP,所以我想避免安裝額外的eMQTT代理,尤其是當RabbitMQ可以支持MQTT時。

回答

1

從我能告訴基於主題的認證是RabbitMQ正在進行的工作。看看這兩個討論的更多的上下文:

https://github.com/rabbitmq/rabbitmq-server/issues/505

https://github.com/rabbitmq/rabbitmq-mqtt/issues/95

看起來將被包含在未來的版本,但是,從更新日誌的快速脫脂,它似乎沒有尚未實施。

我還沒有使用它,但Antione Galataud的話題授權插件貌似直到正式的一個存在,它可能會爲您提供一個臨時解決方案:https://antoine-galataud.github.io/messaging/rabbitmq/mqtt/stomp/authorization/2015/10/15/rabbit-topic-auth.html

0

我們已經實現了它,並有此生產。我們使用IBM IMA消息代理,在主題中有{groupId}佔位符。您可以將{groupId}與IMA鏈接到外部LDAP。

我會建議使用RabbitMQ代理文檔並檢查它們支持的安全功能。

相關問題