本文將講解 Mosquitto 權限管理、如果還沒有搭建 Mosquitto 服務的可以參考我的另外兩篇文章<< 一、Mosquitto 介紹&安裝>> << 二、 Mosquitto 的使用說明 >> 來搭建 Mosquitto 服務。
Mosquitto 權限是根據 topic 控制的、類似與目錄管理。您可以設定每個用戶訂閱/發布權限、也可以設定每個用戶可訪問的topic范圍、從而達到權限控制的目的。
這里我們需要用到<<四、Mosquitto 高級應用之用戶配置>> 中創建的2個用戶。
1: 給這兩個用戶配置不同的權限
admin 設置為訂閱權限,並且只能訪問的主題為"root/topic/#"
mosquitto 設置為發布權限,並且只能訪問的主題為"root/topic/#"
如果用 admin 進行發布是不會成功的、反過來用 mosquitto 進行訂閱同樣不會接受到任何信息。因為他們的權限不同。
2: 增加權限配置
打開配置文件 aclfile.example 在其中添加如下配置信息。
user admin topic read root/topic/# user mosquitto topic write root/topic#
read 訂閱權限 、write 發布權限、# 通配符表示所有的、保存退出。
3:修改 Mosquitto.conf 配置選項
打開mosquitto.conf文件,找到acl_file節點。打開配置做如下修改:
修改前:#acl_file
修改后:acl_file /etc/mosquitto/aclfile.example 根據自己文件實際位置填寫
至此admin 、 Mosquitto 兩個用戶的權限已配置完成。 測試請使用<<三、Java 客戶端實現>>中測試代碼進行測試。