gpt4 book ai didi

acl - Mosquitto 身份验证插件 ACL 检查不会被调用订阅

转载 作者:行者123 更新时间:2023-12-01 12:30:21 26 4
gpt4 key购买 nike

我正在使用 mosquitto 1.4.5 版本。

我正在尝试让一个单独的插件对 mosquitto 代理的主题订阅进行 ACL 检查,并使用提供的 header 进行发布。

只是为了测试 auth 插件的集成,我刚刚使用提供的 mosquitto auth 插件 header (mosquitto_plugin.h) 打印了一条消息,如下所示。

int mosquitto_auth_acl_check(void *user_data, const char *clientid, const char *username, const char *topic, int access)
{
mosquitto_log_printf( MOSQ_LOG_INFO , "ACL Check called");
return MOSQ_ERR_SUCCESS;
}

创建共享对象并更改配置文件的 auth_plugin 属性后,我尝试使用客户端模拟来查看订阅和发布是否会调用 mosquitto_auth_acl_check。我意识到,尽管它在提供的 header 评论中说了些什么,但它永远不会被要求订阅。

在发布场景中,我可以看到记录了 ACL Check called 消息,因此可以假设它调用了该函数。

enter image description here

在订阅场景中,消息没有被记录,因此我假设该函数没有被调用。

enter image description here

它不被调用仅用于订阅的原因可能是什么?

最佳答案

由于将通配符订阅与通配符 acl 进行比较相对困难,因此目前未在订阅时调用它。

ACL 在消息即将发送到客户端时进行检查,这相当于同样的事情,但效率不高。

关于acl - Mosquitto 身份验证插件 ACL 检查不会被调用订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34765476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com