EMQ外掛程式開發mysql實現認證和訪問控制

2021-08-05 23:55:53 字數 1629 閱讀 1674

為了測試外掛程式開發的可行性,選擇了改名emq_auth_mysql進行驗證,因為官方給出的外掛程式模板並沒有具體邏輯。

include下的hrl改名

etc下的conf和priv下的schema是相互照應的,進行改名

src的原始檔與上篇文章改名類似

makefile中

project = emq_custom_mysql

與上篇類似,,git源**,,更改makefile relx.config等

開啟外掛程式,,,進入conf下配置資料庫資訊

使用mosquitto 進行測試

mosquitto_sub [-a bind_address] [-c] [-c msg count] [-d] [-h hostname] [-i client_id] [-i client id prefix] [-k keepalive time] [-p port number] [-q message qos] [-r] [-s] [-n] [--quiet] [-v] [ [-u username] [-p password] ] [ --will-topic topic [--will-payload payload] [--will-qos qos] [--will-retain] ] [[ [--cert file] [--key file] [--tls-version version] [--insecure] ] | [ --psk hex-key --psk-identity identity [--tls-version version] ]] [--proxy socks-url] [-v protocol-version] [-t filter-out...] -t message-topic...

mosquitto_sub [--help]

詳細請見:

首先應該在  給出的mqtt_user 插入幾個測試使用者。 主要就是用來判斷使用者名稱和密碼,在配置檔案裡,auth.custom.password_hash = plain(明文)

可以設定加密方式。

[root@localhost ~]# mosquitto_sub -u *** -p 12345 -q 1 -t topic

connection refused: bad user name or password.

密碼輸錯時:

說明外掛程式已經生效

發布:# mosquitto_pub -u *** -p 123 -t topic -q 1 -m "hi"

^c[root@localhost ~]# mosquitto_pub -u haha -p 123 -t topic -q 1 -m "helloworld"

connection refused: bad user name or password.

error: the connection was refused.

[root@localhost ~]# mosquitto_pub -u haha -p 1234 -t topic -q 1 -m "helloworld

訂閱:mosquitto_sub -u *** -p 123 -t topic -q 2

hihelloworld

訂閱某個主題時並有訂閱這個主題許可權時候會訂閱成功,,,發布者發布關於這個主題的訊息內容時候, 會收到訊息

***是馬賽克,不是使用者名稱

EMQ外掛程式開發

官方提供了外掛程式模板 外掛程式模板 按照自己的意願進行命名 修改etc下的config src下的兩個檔案 乙個叫auth 乙個叫acl的要載入到 in start function,ok emqttd access control register mod auth,emq custom plu...

emq外掛程式開發mysql EMQ的Mysql外掛程式

emq最新版的是emqx3.x.x版本,一如既往的支援mysql認證,這裡專門對mysql認證外掛程式做個研究,寫點總結。本人能力有限,文章不足之處希望及時反饋以免誤導。首先我先描述一下我的應用場景 我要做乙個後台,可以給emq建立客戶端和客戶端的acl,從而實現對emq的終端進行控制。所以選擇了e...

JS 外掛程式 樹Tree 開發與實現

tree外掛程式 需要實現 1 自動將資料組織成上下級關係,這樣我們在前端手工新增資料或者從資料庫中獲取到的資料不需要我們來組織上下級關係 2 支援自定 載入目錄樹 支援xml json 格式的資料載入 3 實現樹節點的選擇 單選 複選 級聯選擇 功能 4 支援大資料的一次性載入 下面開始分享自己寫...