您的位置:首页 > 产品设计 > UI/UE

mosquitto中auth-plug的mysql认证与授权

2017-01-06 15:32 363 查看
创建数据库

CREATE DATABASE IF NOT EXISTS
mqttdb;[/code]

DROP
TABLE
IF EXISTS users;

CREATE
TABLE users (
 id INTEGER AUTO_INCREMENT,
 username VARCHAR(25)
NOT NU
dc6e
LL,
 pw VARCHAR(128)
NOT NULL,
 super INT(1)
NOT NULL DEFAULT
0,
 PRIMARY KEY (id)
 );
 
CREATE
UNIQUE INDEX
users_username
ON
users (username);

DROP
TABLE
IF EXISTS acls;

CREATE
TABLE acls (
 id INTEGER AUTO_INCREMENT,
 username VARCHAR(25)
NOT NULL,
 topic VARCHAR(256)
NOT NULL,
 rw INTEGER(1)
NOT NULL DEFAULT
1, -- 1: read-only, 2: read-write
 PRIMARY KEY (id)
 );
CREATE
UNIQUE INDEX
acls_user_topic
ON
acls (username, topic(228));

添加数据:

密码为哈希,算法为PBKDF2,有特定格式要求,研究了好久,github上有js,python等,没java版的,写了个
https://github.com/zhyufeng/PBKDF2HmacSHA1
可以测试使用,有用的Star哦。

认证:

添加 用户 zhang2,密码  password,如下

INSERT INTO users (username, pw, super)
 VALUES ('zhang2',
 'PBKDF2$sha1$98$XaIs9vQgmLujKHZG4/B3dNTbeP2PyaVKySTirZznBrE=$2DX/HZDTojVbfgAIdozBi6CihjWP1+akYnh/h9uQfIVl6pLoAiwJe1ey2WW2BnT+',
 0);
授权:

限定zhang2的topic仅仅为loc/zhang2,发收



INSERT INTO
acls (username, topic, rw) VALUES
('zhang2',
'loc/zhang2',
1);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: