Mqtt Mosquitto Broker中的用户身份验证的范围是什么?

Mqtt Mosquitto Broker中的用户身份验证的范围是什么?,mqtt,iot,mosquitto,Mqtt,Iot,Mosquitto,我想在我的平台中集成MQTT和MOSQUITO。似乎我可以进行用户身份验证(用户/密码,但我更喜欢基于令牌的身份验证,但这是另一个问题)。 我阅读的所有内容似乎都在处理用户是否可以访问服务器,但不确定我是否可以建立权限来限制客户端是否可以订阅特定的发布(unix中的文件权限) 我在看文档,似乎没有选择来处理它或委托这个控制,所以我想这是不可能的。但是我想确定的是,这个问题应该非常清楚,它包括身份验证和授权 开箱即用MOSQUITO支持保存用户名/密码信息的密码文件(由password\u fil

我想在我的平台中集成MQTT和MOSQUITO。似乎我可以进行用户身份验证(用户/密码,但我更喜欢基于令牌的身份验证,但这是另一个问题)。 我阅读的所有内容似乎都在处理用户是否可以访问服务器,但不确定我是否可以建立权限来限制客户端是否可以订阅特定的发布(unix中的文件权限)

我在看文档,似乎没有选择来处理它或委托这个控制,所以我想这是不可能的。但是我想确定的是,这个问题应该非常清楚,它包括身份验证和授权

开箱即用MOSQUITO支持保存用户名/密码信息的密码文件(由
password\u file
config参数指定)。这与将
allow\u annonymous
参数设置为false相结合,将确保您只能作为经过身份验证的用户连接到代理

acl\u文件
config选项指向控制给定用户可以订阅或发布的主题的acl列表。它使用以下格式:

user <username>
topic [read|write|readwrite] <topic>
pattern [read|write|readwrite] <topic-pattern>
用户
主题[读|写|读写]
模式[读|写|读写]
用户名,后跟给出特定主题或主题模式的行,以及用户应具有的访问级别。(模式可以包含
%c
来代替clientID,也可以包含
%u
来代替用户名)

除了基于文件的支持,mosquitto还有一个身份验证插件api,这意味着您可以将所有信息卸载到代码中,以便在数据库中查找用户和ACL。这里有一个JPMens的插件示例