创建数据库
CREATE DATABASE IF NOT EXISTS
mqttdb;
DROP TABLE IF EXISTS users;
CREATE TABLE users ( | |
id INTEGER AUTO_INCREMENT, | |
username VARCHAR(25) NOT NULL, | |
pw VARCHAR(128) NOT NULL, | |
super INT(1) NOT NULL DEFAULT 0, | |
PRIMARY KEY (id) | |
); | |
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) | |
); |
添加数据:
密码为哈希,算法为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);