当前位置: 首页 > news >正文

使用IOT-Tree的用户和角色控制监控画面指令下达授权

在工业现场监控中心,值班人员通过图示化的监控画面对现场设备设施运行情况进行监控,并且在必要的时候下达一些控制或参数调整指令。为了支持操作员操作的身份验证、安全防护(防止误操作和非当前工作人员操作),同时兼顾使用的流畅,本文以IOT-Tree用户角色管理为基础,详细举例说明了HMI画面的相关配置说明。

如果你对IOT-Tree Server不了解,可以看如下内容

IOT-Tree Server是个开源物联网软件,可以作为组态软件成为自动化系统的上位软件。她提供了各种设备接入、数据组织管理、数据分享使用、消息流控制逻辑和人机交互多个方面的功能。当然,你也可以仅仅使用这个软件作为数据采集终端或边缘计算的软件。

这是IOT-Tree Server相关的系列文章,你可以参考其他文章更多了解IOT-Tree能给你带来的好处:

使用IOT-Tree Server通过MC协议连接三菱Q系列PLC

使用IOT-Tree Server通过FINS协议连接欧姆龙CP2E-N系列PLC

使用IOT-Tree Server通过S7 Eth协议连接西门子PLC S7-1200

系列文章还包含IOT-Tree完成一个具体项目的过程,非常详细,如下:

机房自动化监控手把手分享给你 - 10 项目完成总结

从版本2.0开始,IOT-Tree完善了用户和角色管理。管理员可以在用户和角色管理界面中维护用户的添加、删除、修改(含登录密码)。对角色进行添加,修改和删除等操作。对选中用户进行角色分配。

1 用户角色管理

管理员登录管理主界面右上角,点击图标即可进入:

左边是用户列表,右边是角色列表。可以对用户/角色分别进行添加、修改或删除。具体的分配用户角色过程为:点击某个用户,在右边角色选择框进行勾选,然后点击上方的“保存角色到用户”按钮即可

用户admin和角色admin是系统自带的,并且是超级管理员,不允许被删除。当然,你也可以设置其他用户为admin角色

2 HMI写操作(下达指令)授权

在IOT-Tree项目组织树节点中,新增了属性“授权”-“写入限制角色(用户组)”。点击之后,可以在弹出对话框中选择设置需要的角色。

当一个节点设置了此限制角色之后,其子孙节点会自动继承此内容,除非子孙节点自己设置了限制角色——此时,继承的祖先配置内容被屏蔽。

因此,你可以在靠近根部的节点设置角色之后,下面的所有HMI节点都会使用此权限验证要求。

注:如果没有设置任何角色,说明相关节点不需要验证。

3 举例说明HMI写操作验证全过程

以系统自带的demo项目进行相关权限设置说明,此项目导入运行请参考下面的文章(也就几分钟的事):

快速开始IOT-Tree

3.1 准备用户和角色

先管理员登录,在管理主界面 http://localhost:9090/admin/ 的右上角点击打开用户角色管理对话框。我们在里面添加如下用户和角色。用户op1,op2,op3;并且op1分配角色oper,op2和op3分配角色oper1。如下:

op1|oper op2|oper1 op3|oper1

3.2 设置节点角色

我们进入demo项目,点击hmi节点"u1"。然后在主内容区选项“属性”。点击“写入限制角色(用户组)”对应的编辑框,在弹出的角色选择对话框中,选择角色"oper":

完成之后不要忘记点击属性上方“应用”按钮进行保存设置。这样我们就完成了hmi u1节点的写操作限制。

3.3 在HMI画面中设置指令下达事件绑定

我们鼠标右键"u1"节点,选择“编辑UI",在主内容区,选择启动图元,点击右边Events列表,如下图:

在事件"on_mouse_clk"对应的内容区,点击打开对话框,进行客户端事件触发和服务端事件处理JS脚本,如下

Client JS运行在UI画面端,只需要如下一行代码,此代码是的前端向IOT-Tree Server端触发一个鼠标click事件。

$server.fire_to_server("")

Server JS运行在IOT-Tree Server内部,在接收到客户端触发的事件之后,这个JS代码会被运行。此代码对应水泵启动的标签点写入值1,这最终会通过设备驱动向控制器发出写指令。

ch1.dio.pstart._pv=1;

但Server JS在运行前会进行上面配置的用户权限验证,如果验证失败,则Server JS不会被运行并且返回错误提示。

对于"Run Name",如果你希望IOT-Tree能够自动对操作员的操作做记录,请填写能够区分此操作的运行名称,这样在操作日志中,就可以直观的区分是何种操作了

3.4 HMI画面操作效果

确保demo项目启动,且正常运行。建议打开一个新的浏览器(无用户登录信息)。访问下面的url,你可以发现画面右下角有个人员图标——这说明当前画面有指令下达时有用户验证要求:

http://localhost:9090/watertank/u1

此时,我们直接点击“Start”对应的图元,会自动弹出操作员用户名和密码验证对话框。如图:

我们填写op1这个用户密码,这个用户对于oper角色——于此UI设定匹配。点击确定。可以看到指令下达成功提示,并且当前用户也有了显示:

此时,在一定的时间之内,ui画面不需要你重新进行用户密码验证。但超过一定时间长度之后(此时间可以在项目根节点设置),如果要做写操作,系统还会提示需要用户密码验证——这样做的好处是既可以防止误操作,又可以保证操作方便流畅

3.5 切换用户测试无权限用户效果

点击右下角的用户图标,则可以强制弹出用户验证对话框。你可以在此输入其他用户的验证信息。我们此时可以填写op2这个用户,此用户就算登录能成功,但与此UI的限制角色不匹配,下达指令时会提示无权限。

4 总结

以上过程非常简单,只需要注意掌握组织树结构的角色分配和继承关系即可。

如果要实现操作员操作日志记录,你可以使用IOT-Tree中的消息流节点“接入与设备-HMI事件触发器”,2分钟(包含数据库表的建立)即可完成操作员操作记录到关系数据库中的配置。关系数据库的使用请参考其他文档和相关文章。

http://www.jsqmd.com/news/1286925/

相关文章:

  • 从东京Maker Faire看创客实践:情感化设计与低成本创造的魅力
  • 深入解析IEEE 802.15.4协议栈中RF Core HAL的数据队列管理机制
  • 学习增强算法:传统算法与机器学习的融合实践
  • AI资讯系统架构设计:从采集到个性化推荐
  • 4-Linux-文件-操作命令|目录结构-day12
  • 26年上海雅思封闭班推荐:发展趋势动态追踪 - 虚拟星辰
  • 物联网安全芯片SE050与STM32F410RB集成方案详解
  • Q1账上少了15亿现金,锐捷这笔钱去哪了?
  • MFC程序逆向分析实战:利用SPY++与XSPY破解GUI验证逻辑
  • Qt模型视图架构:QAbstractItemModel核心原理与实战优化
  • 基于行空板与红外传感器的火车模型缩比测速系统设计与实现
  • 2026年7月临高可靠的洒水车公司推荐,洒水车智能节能模式省电 - 品牌推荐师
  • 告别画图熬夜改图[特殊字符]okbiyeAI科研绘图|一键生成论文高清图表,期刊/毕设通用✅
  • 声音克隆原理,2026年声音克隆工作流,5款深度对比
  • Vue3核心Hooks与状态管理实战技巧
  • OpenClaw开源AI框架技术解析与法律争议
  • 终极指南:如何通过KMS智能激活脚本永久解决Windows和Office激活难题
  • TI CC13x2/CC26x2硬件加密引擎实战:从AES-GCM到安全通信模块开发
  • Beyond Compare 5激活终极指南:3分钟生成永久授权密钥的完整方案
  • DSP/BIOS实时内核调试实战:栈管理、中断控制与内存防护
  • 北京市延庆区防水补漏|延庆老城小区、八达岭景区民宿、康庄工业园厂房、官厅水库沿岸住宅、山区乡村院落渗漏一站式治理,免费漏水检测、持证施工质保十年 - 资讯纵览
  • 老板想退出一线的财税公司找企跑星怎么交接,三件交接与复制路径 - 财赋有道
  • 对话式创建定时任务竟比GUI快3倍?LobsterAI早报生成翻车实录
  • AI时代必读书单:认知重构与人机协作指南
  • 新一代IM即时通讯系统|企业专属通讯平台定制开发
  • C语言实现高效员工信息管理系统开发指南
  • 勾选片段导出视频工具,2026年智能切片工作流,5款深度对比
  • PWM舵机控制全解析:从信号原理到工程实践
  • TI高压电机控制套件实战:从FOC算法到系统级电力电子设计
  • 浙江回收中央空调公司哪家好,废旧中央空调回收公司哪家好怎么选?2026避坑指南与靠谱公司推荐 - GEO99