【问题标题】:Mosquitto - disable subscription with wildcardsMosquitto - 使用通配符禁用订阅
【发布时间】:2017-12-18 09:37:18
【问题描述】:

我想使用通配符(+#)禁用对所有主题的订阅,可以吗?

【问题讨论】:

    标签: mqtt mosquitto


    【解决方案1】:

    是的,基于每个用户。您可以使用 ACL 来限制给定用户可以订阅的主题,这些主题可以包括通配符。 ACL 格式的详细信息可以在 mosquitto.conf 手册页中找到 here

    您还可以完全阻止匿名用户连接到代理。

    allow_anonymous false
    

    【讨论】:

    • 感谢您的回复。那么包括 acl_file 可以防止使用“#”通配符订阅所有主题吗?并且用户名和密码必须在password_file中配置?如果是这样,有没有办法将我的数据库(与我的用户)连接到 mqtt 用户列表?
    • 否,但您为每个用户指定一个合适的通配符 ACL,如果他们订阅了 # 他们将只会看到与 ACL 匹配的主题
    • 所以在 acl_file 中使用模式(如“pattern %u/topic_name”)和 mosquitto.conf 中的“allow_anonymous false”,没有用户可以订阅#?
    • 他们可以订阅#,但他们只会看到以%u/topic_name开头的消息
    • 为什么这个正确答案目前在 -1 ? - 为了理智起见对此表示赞同;)
    猜你喜欢
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    相关资源
    最近更新 更多