Mqtt 用于订阅的Mosquito auth插件ACL
我目前正在使用mosquitto代理,看看是否可以用它构建一些有趣的东西,我发现了一个名为mosquitto auth plugin的身份验证插件 我遵循插件的文档,使用postgres作为后端表。它似乎与用户身份验证有关。当谈到ACL时,我发现发布ACL就在现场,但订阅ACL是我无法理解的Mqtt 用于订阅的Mosquito auth插件ACL,mqtt,acl,mosquitto,Mqtt,Acl,Mosquitto,我目前正在使用mosquitto代理,看看是否可以用它构建一些有趣的东西,我发现了一个名为mosquitto auth plugin的身份验证插件 我遵循插件的文档,使用postgres作为后端表。它似乎与用户身份验证有关。当谈到ACL时,我发现发布ACL就在现场,但订阅ACL是我无法理解的 |--获取用户:karthik 1546887525:|--getuser(karthik)通过postgres的身份验证=1 1546887525:作为karthik(c1,k60,u'karthik'
|--获取用户:karthik
1546887525:|--getuser(karthik)通过postgres的身份验证=1
1546887525:作为karthik(c1,k60,u'karthik')从127.0.0.1连接的新客户端。
1546887525:未指定遗嘱消息。
1546887525:正在将CONNACK发送到karthik(0,0)
1546887525:从karthik收到订阅
1546887525:测试/测试(QoS 0)
1546887525:|--mosquitto_auth_acl_check(…,客户端id不可用,karthik,测试/测试,MOSQ_acl_WRITE)
1546887525:|--超级用户:karthik
1546887525:|--用户为0
1546887525:|--用户名:karthik,主题:测试/测试,附件:4
1546887525:|--aclcheck(karthik,测试/测试,4)授权=0
1546887525:向karthik发送子包解决了问题。在新的mosquitto 1.5版本中,MOSQ\u ACL\u SUBSCRIBE是一个额外的增强功能,在ACL检查中引入了一个额外的位。该值现在从0变为7(因为有3位),而不是0-3(因为有2位)
因此,现在数据库中ACL表上的读/写值必须在0到7之间变化
0:没有访问权限
1:读
2:写
3:读写
4:订阅
5:阅读和订阅
6:编写和订阅
7:读、写和订阅
希望它能帮助那些和我面临同样问题的人:D