目前我这边平台采用了 HTTP 认证方式。
现在授权的实现想采用以下方式:
- http 认证响应携带自定义的客户端属性,比如:client_attrs.mac
- 在 ACL 文件配置中,采用自定义属性进行订阅控制。如:
{allow, {clientid, {re, “^xxx”}}, subscribe, [{eq, “device/${client_attrs.mac}/#”}]}.
问题点:
- 这种在ACL文件中,使用自定义的客户端属性作为占位符进行订阅控制是否可以实现
- 如可以实现,这种方案是否有缓存(主要担心设备每次发布消息都要判断,影响效率)
- 如可以实现,这种方案效率是否可以,不采取数据库这些方案是考虑到后续设备权限有变动的话,维护成本有点大