Emqtt -- 03 -- 用户密码认证

默认情况下,emqtt 服务会启用匿名认证,也就是说连接 emqtt 的服务时,不需要任何的账号密码,就可以连接,但通常情况下,我们会对连接 emqtt 服务的账号和密码加以控制,这时我们就需要来修改 emqtt 的配置文件


一、修改配置文件

通过先前的服务搭建,在 etc 目录下修改 emq.conf 配置文件

  • cd /usr/local/emqtt/emqttd/etc

  • vim emq.conf

  • 找到 mqtt.allow_anonymous,将值改为 false,保存并退出

修改完配置文件后,我们需要重新启动 emqtt 服务才能生效,这里有个比较坑的地方在于:如果直接用重启命令时会不起作用!!!
所以我们要先关闭再启动,不知道这是不是 个Bug,此时我们再启动项目的时候,会发现连接失败,因为我们关闭了匿名认证,而没有指定其他的认证规则


二、配置用户密码认证

在 etc/plugins 目录下修改 emq_auth_username.conf 配置文件

  • cd /usr/local/emqtt/emqttd/etc/plugins

  • vim emq_auth_username.conf

  • 添加用户名和密码,保存并退出

    • auth.user.1.username = root

    • auth.user.1.password = root

  • 开启用户密码认证插件

    • 第一种方式:emqttd_ctl plugins load emq_auth_username

    • 第二种方式:在 web 管理控制台中开启该插件

  • 重启服务,使插件生效


三、测试

此时我们再启动项目时,只有正确地配置了用户名和密码之后,才可以连接成功,否则会报异常
在这里插入图片描述

你可能感兴趣的:(emqtt,EMQTT)