要实现匿名接入并发布消息,但订阅消息必须有账号密码才行,可以按照以下步骤进行设置:

  1. 在 EMQX Dashboard 中,选择“Access Control”菜单,然后选择“Anonymous Client”。

  2. 在“Anonymous Client”页面中,设置“Anonymous Publish”为“Allow”,表示允许匿名客户端发布消息。

  3. 在“Anonymous Client”页面中,设置“Anonymous Subscribe”为“Deny”,表示拒绝匿名客户端订阅消息。

  4. 接下来,在 EMQX Dashboard 中,选择“Access Control”菜单,然后选择“Authentication and Authorization”。

  5. 在“Authentication and Authorization”页面中,创建一个新的账户,并为该账户设置一个密码。

  6. 然后,在 EMQX Dashboard 中,选择“Access Control”菜单,然后选择“Topic ACL”。

  7. 在“Topic ACL”页面中,设置一个规则,例如:“allow $authenticated_user to subscribe #”,表示只允许已经通过身份验证的用户订阅所有主题。

  8. 最后,在 EMQX 客户端中,使用匿名身份连接 EMQX Broker,并发布消息。在订阅主题时,必须使用已经通过身份验证的用户身份来连接 EMQX Broker。

这样,就可以实现匿名接入并发布消息,但订阅消息必须有账号密码才行的设置。

emqx中怎样设置可以匿名接入并发布消息但订阅消息必须有账号密码才行

原文地址: https://www.cveoy.top/t/topic/bEp2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录