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

创建数据库
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)
  );
 

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);



  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值