Mosquitto Broker 中用户身份验证的范围是什么?
What is the scope of user authentication in Mosquitto Broker?
我想在我的平台中集成 MQTT 和 Mosquitto。看来我可以进行用户身份验证(user/password 但我更喜欢基于令牌,但这是另一个问题)。
我读到的所有内容似乎都在处理用户是否可以访问服务器,但不确定我是否可以建立权限来限制客户端是否可以订阅特定发布(unix 中的文件权限)
我正在查看文档,似乎没有处理它或委托此控件的选项,所以我想这不可能完成。但我想确定
mosquitto doc应该很清楚了,它涵盖了身份验证和授权。
现成的 mosquitto 支持包含 username/password 信息的密码文件(由 password_file
配置参数指定)。这与将 allow_annonymous
参数设置为 false 相结合将确保您只能以经过身份验证的用户身份连接到代理。
acl_file
配置选项指向控制给定用户可以订阅或发布的主题的 ACL 列表。它使用以下格式:
user <username>
topic [read|write|readwrite] <topic>
pattern [read|write|readwrite] <topic-pattern>
用户名,后跟给出特定主题或主题模式以及用户应具有的访问级别的行。 (模式可以包含 %c
来代替 clientID 或 %u
来代替用户名)。
除了基于文件的支持外,mosquitto 还有一个身份验证插件 api,这意味着您可以将所有这些信息卸载到可以在数据库中查找用户和 acls 的代码中。 JPMens https://github.com/jpmens/mosquitto-auth-plug
有一个示例插件
我想在我的平台中集成 MQTT 和 Mosquitto。看来我可以进行用户身份验证(user/password 但我更喜欢基于令牌,但这是另一个问题)。 我读到的所有内容似乎都在处理用户是否可以访问服务器,但不确定我是否可以建立权限来限制客户端是否可以订阅特定发布(unix 中的文件权限)
我正在查看文档,似乎没有处理它或委托此控件的选项,所以我想这不可能完成。但我想确定
mosquitto doc应该很清楚了,它涵盖了身份验证和授权。
现成的 mosquitto 支持包含 username/password 信息的密码文件(由 password_file
配置参数指定)。这与将 allow_annonymous
参数设置为 false 相结合将确保您只能以经过身份验证的用户身份连接到代理。
acl_file
配置选项指向控制给定用户可以订阅或发布的主题的 ACL 列表。它使用以下格式:
user <username>
topic [read|write|readwrite] <topic>
pattern [read|write|readwrite] <topic-pattern>
用户名,后跟给出特定主题或主题模式以及用户应具有的访问级别的行。 (模式可以包含 %c
来代替 clientID 或 %u
来代替用户名)。
除了基于文件的支持外,mosquitto 还有一个身份验证插件 api,这意味着您可以将所有这些信息卸载到可以在数据库中查找用户和 acls 的代码中。 JPMens https://github.com/jpmens/mosquitto-auth-plug
有一个示例插件