安全管理是每个工程中必不可少的一部分,它的主要的功能是对访问权限的限制,增加安全性。紫金桥软件的联机帮助中有初步的介绍,下面主要分享一下本人在使用中总结出的使用方法。
我们首先需要建几个用户,如下图:
定义用户组时,需要对该用户组的安全区和操作权限进行勾选,定义用户时也会有这样一个选择,最终用户定义时所能控制的安全区和操作权限为用户组和该用户所勾选的合集。下面有个提示“用户列表:(拖拽改变用户组)”,需要注意的是,将用户拖拽其他用户组可能会改变该用户权限,比如,将上图中的“阿三”用户拖拽到“系统管理员”用户组内,“阿三”此时拥有所有权限,再将“阿三”拖拽回“新增用户”,该用户依然拥有所有权限,也就是说,进过拖拽后的权限为该用户原有权限与新用户组权限的合集,这种权限的改变是权限必然增大。很多不了解的人会误认为拖拽后权限不变。
用户建好后,点击“启动”按钮,安全管理功能启用,一般情况下不指定缺省用户。保存退出,再运行紫金桥软件时,会弹出系统登录窗口,输入正确用户名和密码即可登录。很多时候系统的登录窗口不能满足正常需求,那就需要我们自己动手做登录页面。我自己做了两个画面——登录页面和修改密码页面,如下图。
登录画面比较简单,脚本都在“登录”按钮中,脚本如下:
使用LoginDirect()函数直接登录可以简化脚本,“1”表*示登录成功,这里所输入的用户名和密码必须是安全管理中有的用户,即使安全管理未启用也仍然有效。为了不让他人看到密码,可以对文本框进行设置,把属性中的口令复选框勾上。
密码就会如这样显示:。
修改密码页面脚本都在“确认”按钮中,脚本如下:
把“不能为空”勾上,运行时如果文本框为空,就会有如下提示:
下面是几个判断句,符合条件就进行下一步,否则弹出相应错误对话框,这样写就比较清楚。
几乎每一个对象或组件都有安全区设置,安全区可以使保护精确到单个对象(未设置安全区的对象可以随意操作),无权限的用户能看见却不能操作,通常无权限浏览也就是没有权限操作,所以顶多会对画面设置安全区甚至不用安全区。
每个用户都有操作时限的设置,用户登陆后,超过时限会自动退出,也就丧失了所有的权限,此处通常不设置,默认为无时间限制。
工程加密与安全管理有些不同,它主要是保护工程文件不被修改,启用工程加密后,可以正常运行,但进入组态时需要输入口令,如果忘记口令,工程将无法进入,即使把工程下的文件(如画面)拷到其他工程中,也打不开,提示“无法打开加密窗口”。
运行时如果想对安全管理进行操作,可以利用相关函数,所有的函数在安装目录下SysGen.exe中。双击打开SysGen.exe,点击“画面”按钮,名称处选择“ObSecuArea”,所有相关函数都在这里,有说明有示例。