日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

emq插件开发mysql_EMQ的Mysql插件

發(fā)布時(shí)間:2025/4/5 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 emq插件开发mysql_EMQ的Mysql插件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

EMQ最新版的是EMQX3.x.x版本,一如既往的支持Mysql認(rèn)證,這里專(zhuān)門(mén)對(duì)Mysql認(rèn)證插件做個(gè)研究,寫(xiě)點(diǎn)總結(jié)。本人能力有限,文章不足之處希望及時(shí)反饋以免誤導(dǎo)。

首先我先描述一下我的應(yīng)用場(chǎng)景:我要做一個(gè)后臺(tái),可以給EMQ創(chuàng)建客戶端和客戶端的ACL,從而實(shí)現(xiàn)對(duì)EMQ的終端進(jìn)行控制。所以選擇了EMQ的Mysql插件作為基礎(chǔ)組件。

首先我們看看Mysql插件的基礎(chǔ)文檔:【傳送門(mén)】,然后我們分析一下EMQ的認(rèn)證流程。我們先看一下基礎(chǔ)認(rèn)證配置規(guī)則。

EMQ默認(rèn)有個(gè)acl.conf文件,這個(gè)是第一步被加載進(jìn)EMQ的權(quán)限文件,我們可以再這里配置一下設(shè)備的ACL:

%%--------------------------------------------------------------------

%%

%% [ACL](http://emqtt.io/docs/v2/config.html#allow-anonymous-and-acl-file)

%%

%% -type who() :: all | binary() |

%% {ipaddr, esockd_access:cidr()} |

%% {client, binary()} |

%% {user, binary()}.

%%

%% -type access() :: subscribe | publish | pubsub.

%%

%% -type topic() :: binary().

%%

%% -type rule() :: {allow, all} |

%% {allow, who(), access(), list(topic())} |

%% {deny, all} |

%% {deny, who(), access(), list(topic())}.

%%

%%--------------------------------------------------------------------

{allow, {user, "dashboard"}, subscribe, ["$SYS/#"]}.

{allow, {ipaddr, "127.0.0.1"}, pubsub, ["$SYS/#", "#"]}.

{deny, all, subscribe, ["$SYS/#", {eq, "#"}]}.

{allow, all}.

我們拿出一個(gè)規(guī)則:【{allow, {user, "dashboard"}, subscribe, ["$SYS/#"]}.】,這個(gè)表示允許用戶名為dashboard的用戶訂閱系統(tǒng)topic,如果我們需要自定義ACL,只需要按照這個(gè)格式就可以,這里需要注意兩點(diǎn):

Erlang的注釋符不要寫(xiě)錯(cuò)了,是%%,而不是#或//

規(guī)則后面有個(gè)點(diǎn):【.】,這個(gè)不能丟了

配置好了以后可以通過(guò)設(shè)置mqtt客戶端的username來(lái)是實(shí)現(xiàn)授權(quán)。

上面說(shuō)完基礎(chǔ)認(rèn)證想必大家對(duì)權(quán)限配置有一定的了解了,我們繼續(xù)看Mysql的認(rèn)證。

準(zhǔn)備工作:?下載最新版的EMQ,先不要運(yùn)行,解壓以后切換到etc目錄下。?首先,打開(kāi)emqx.conf,關(guān)閉匿名模式,大概在410行的位置處,把【anonymous=true】改成【anonymous=false】;然后配置ACL相關(guān)的一些內(nèi)容:在大約415行處【acl_nomatch = allow】改成【acl_nomatch = deny】;445行的【acl_deny_action=ignore】改為【acl_deny_action=disconnect】。

具體改動(dòng)見(jiàn)下表:

emqx.conf

anonymous

true

acl_nomatch

allow

acl_deny_action

disconnect

然后打開(kāi)acl.conf,把不需要的規(guī)則注釋了即可。

接下來(lái)需要配置一下Mysql的相關(guān)參數(shù):

emq_auth_mysql.conf

auth.mysql.server

數(shù)據(jù)庫(kù)的地址

auth.mysql.pool

連接池大小,默認(rèn)是8

auth.mysql.username

數(shù)據(jù)庫(kù)用戶名

auth.mysql.password

數(shù)據(jù)庫(kù)密碼

auth.mysql.database

數(shù)據(jù)庫(kù)

auth.mysql.auth_query

select password from mqttdevice where username = '%u' limit 1

auth.mysql.password_hash

plain

auth.mysql.super_query

auth.mysql.super_query = select is_superuser from mqttdevice ?where username = '%u' limit 1

auth.mysql.acl_query

auth.mysql.acl_query = select allow, ipaddr, username, clientid, access, topic from mqtt_acl where ipaddr = '%a' or username = '%u' or username = '$all' or clientid = '%c'

這里是按照官網(wǎng)的模板直接配置的,但是有時(shí)候,可能需要整合我們自己的業(yè)務(wù)系統(tǒng),所以如果要自定義自己的系統(tǒng),需要注意這幾個(gè)地方:

1. EMQ的mysql插件的那幾個(gè)SQL,select返回字段必須按照給定的格式,例如:

select password from mqttdevice where username = '%u' limit 1

其中password是必須要給出的,如果你的用戶密碼叫passwd,需要AS一下取個(gè)別名,這樣EMQ才能識(shí)別到,否則的話會(huì)報(bào)錯(cuò);

2. 關(guān)于SuperUser:SuperUser有權(quán)限訂閱所有topic,一般用作特殊作用比如監(jiān)控用;

3. IP地址為NULL,代表允許任何IP,而不是我們常見(jiàn)的0.0.0.0,如果不對(duì)IP進(jìn)行過(guò)濾,這個(gè)字段全部為空即可。

總結(jié):EMQ的Mysql插件通過(guò)SQL的形式給用戶留了自定義業(yè)務(wù)實(shí)現(xiàn)的接口,熟悉規(guī)則以后還是很好用的。

總結(jié)

以上是生活随笔為你收集整理的emq插件开发mysql_EMQ的Mysql插件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 波多野结衣欧美 | 蜜桃一区二区三区 | 欧美特黄aaaaaa | 懂色一区二区 | 亚洲欧美国产另类 | 亚洲综合免费观看高清完整版在线 | 黄色网址在线免费播放 | 国产中文在线观看 | 中文字幕第11页 | 成人欧美一区二区三区黑人孕妇 | 黄色男同视频 | 玖玖国产| 看av在线 | 久久久资源 | 制服丝袜国产在线 | 日韩欧美激情视频 | 免费看欧美黄色片 | 日日碰日日摸 | 久久国产黄色片 | 久久免费精彩视频 | 欧洲日韩一区二区三区 | 久久最新网址 | 国产午夜电影在线观看 | 国产激情二区 | 一区二区三区欧美视频 | 国产黄大片在线观看画质优化 | 日日干视频 | 4438国产精品一区二区 | 国语粗话呻吟对白对白 | 神马午夜麻豆 | 日韩视频在线观看二区 | 色呦呦中文字幕 | 青娱乐国产在线视频 | 亚州一区二区 | 羞羞影院体验区 | 麻豆久久久9性大片 | 国产欧美啪啪 | 亚洲激情四射 | 国产欧美日韩精品在线观看 | 日韩激情精品 | 九色视频网 | 国内国产精品天干天干 | 国产精品乱码一区 | 亚洲无码精品在线观看 | 亚洲一区二区高清视频 | 在线观看视频中文字幕 | 亚洲视频久久 | 色哟哟一区二区三区四区 | 贝利弗山的秘密在线观看 | 国产一区二区免费在线观看 | 亚洲爽爽 | 伊人网av在线 | 五月天黄色小说 | 国产精品成人99一区无码 | 人妻少妇偷人精品久久性色 | 日本高清有码视频 | jzz在线观看 | 日韩欧美久久 | 亚洲中字在线 | 操操操干干干 | 亚洲精品少妇一区二区 | 国产精品伦子伦 | 99av国产精品欲麻豆 | 亚洲最大中文字幕 | 婷婷天天| 福利久久久 | 久久久久国产一区二区三区 | 伊人久久成人网 | 欧美成人做爰大片免费看黄石 | 尤物综合网 | av影音先锋 | 日韩成人免费电影 | 大陆av片 | 亚洲中文字幕无码不卡电影 | 亚洲第一成人av | 无码久久av一区二区三区 | 国产一卡二卡 | 亚洲23p| 久久久噜噜噜久久中文字幕色伊伊 | 一区二区三区日韩 | 亚洲一本在线观看 | 亚洲国产成人精品视频 | 东北女人啪啪ⅹxx对白 | 国产av成人一区二区三区高清 | 中文字幕乱码人妻二区三区 | 亚洲精品视频在线免费 | 免费三级在线 | 破处视频在线观看 | 亚洲av无码精品色午夜果冻不卡 | 成人日韩精品 | 色多多视频在线观看 | 国产精品扒开腿做爽爽 | 综合激情网五月 | 91在线精品秘密一区二区 | 中文字幕一区二区三区电影 | 国产一二三在线 | 亚洲AV无码成人精品区东京热 | 永久在线观看 | 一区二区三区四区五区视频 |