搬家第22天-Cicode代码实验5-用户登录和权限设置
有时候我们希望将HMI上一些操作进行权限限制,这个时候就涉及到用户和权限的设置了,本文记录如何实现这种功能。
我们点击Citect工程编辑器的菜单“系统-角色”,可以看到系统有一个默认的角色Administrators,权限是1到8(所有的等级)。点击菜单“系统-用户”,在弹出的对话框新建一个用户admin,填写密码,角色为Administrators,意味着这个用户的权限也是1到8.
前面实验的按钮属性的“访问”选项卡,取消勾选“无权限限制”,可以选择一个权限等级,比如选择5,然后前级确定,关闭对话框。
新建一个用户登录按钮,在按钮的鼠标点击事件添加代码:
Loginform()
再新建一个退出登录按钮,在鼠标点击事件中添加以下代码:
Logout()
保存编译运行,直接点击页面跳转按钮没有效果,单击用户登录输入用户名和密码后,再点击页面跳按钮,就能够到另外的页面去了。
由于admin这个用户权限涵盖了1到8,体现不出来不通过用户的权限区别。可以做以下实验。在Citect工程编辑器的菜单“系统-角色”,新建两个角色:操作员1,等级为3,操作员2,等级为7,均不设windows用户组。再新建两个用户user1和user2,分别属于操作员1和操作员2。保存编译运行,首先使用user1登录,权限是3,“低于”页面跳转需要的权限5,发现不能使页面跳转。接下来使用user2登录,权限是7,“高于”页面跳转需要的权限5,发现还是不能使页面跳转。说明权限数值仅仅是为了区分组,没有谁大谁小。
如果觉得8个权限分组不够,能不能在新建一个角色,分配权限编号9,把页面跳转按钮权限也设置为9呢,我在citect 7.4实验发现,新建一个角色分配权限9没有问题,但是把按钮权限限制设置成9,在编译的时候就会报错误,看来不能这样添加。