权限设计
权限分级
权限分为 6 级,高级别的权限可以使用低级别的所有功能
-
【不可见】
-
最低的权限,设备列表中看不到该设备
- 不能对设备做任何操作
- 不会收到该设备的任何消息
-
【可见】
-
可以查看设备概览
- 不能使用设备
- 接收设备的添加、移除、故障消息
-
【可使用】
-
可以简单使用设备
- 不能执行敏感操作(比如调整路由器网络配置,打开家用保险箱、使用运行中的洗衣机)
- 关于敏感指令的定义,可以通过数据库解决
-
【可配置】
-
可以使用该设备的所有功能
-
【可监视】
-
可以查看设备的详细信息,包括使用记录,设备运行日志等
-
【可管理】
-
最高权限
- 管理员默认持有
- 拥有该权限允许更改其他用户对于该设备的权限
用户分组与设备分组
- 每个用户都属于至少一个用户组,当用户注册时,默认属于 public 用户组,该用户组的所有设备权限均默认为不可见
- 每个设备都属于至少一个设备组,当设备被添加时,默认属于 public 设备组,该设备组的所有设备权限均默认为不可见
- 当用户本身持有某个权限,或者所在至少一个用户组持有某一权限时,用户都视作持有某一权限
- 若用户被视作持有某一权限,或用户被视作持有所在设备组某一权限时,用户被视作持有某一权限
- 管理员可修改用户组的权限,可修改用户所在用户组