第6章 用户安全管理系统.docx
- 文档编号:25696854
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:26
- 大小:511.44KB
第6章 用户安全管理系统.docx
《第6章 用户安全管理系统.docx》由会员分享,可在线阅读,更多相关《第6章 用户安全管理系统.docx(26页珍藏版)》请在冰豆网上搜索。
第6章用户安全管理系统
第六章用户安全管理系统
6.1概述
在一个正在运行的控制系统中,为了保证系统的安全可靠运行,进行人机交互操作时,并不是所有的人都可以对控制系统进行操作。
对系统进行相应的安全保护是必须的,对于多个用户共同使用的控制系统,必须要根据事先规定的用户的使用权限和使用范围允许或禁止其对系统进行操作。
KingSCADA提供了一个强有力的先进的基于用户的安全管理系统,来解决上述问题,此外系统还提供了应用加密的功能,使系统安全方面得到了进一步保障。
6.2应用加密
为了防止其他人员对应用进行修改,在KingSCADA工程设计器中可以对应用进行加密,当进入一个有密码的应用时,必须正确输入密码方可打开应用,否则不能打开该应用进行修改。
对于加密的应用,也可以取消密码,即实现解密的功能。
6.2.1应用加密
在KingSCADA工程设计器中执行“工具”菜单中的“加密应用”菜单项,弹出对话框,如下图所示。
图6-1应用加密对话框
密码:
设置应用的密码,密码长度不超过32个字符。
确认密码:
在此输入相同密码进行确认。
单击确定按钮,系统将对应用进行加密。
单击取消将取消对应用实施的加密操作。
当为应用设置完密码之后,若用户要想重新进入加密的应用时,会弹出对话框,提示用户输入密码。
若输入密码为空,则出现以下错误信息提示:
图6-2加密错误信息提示
若输入密码错误,则用户需再次输入。
6.2.2应用解密
当应用加密之后,则原来的“加密应用”菜单项会自动转变为“解密应用”菜单项。
若用户要为应用进行解密,需要点击此项进入应用解密对话框,如下图所示:
图6-3应用解密对话框
用户只需输入旧密码,点击“确定”按钮即可将加密的应用密码取消。
6.3用户管理
用户安全管理系统负责KingSCADA的用户管理与用户进行系统服务配置、工控画面(GUI)操作的授权监管,实现应用控制操作安全管理与事故追责。
6.3.1用户权限
对于KingSCADA运行系统来说,某些重要的功能(如用户管理配置、配方管理配置),假如只有操作员A可以在线配置,而某些不重要的操作(如修改变量值、控制阀门开关等)可以由操作员B来完成,为了区分这些用户,KingSCADA为用户提供了权限属性用来限制用户的操作范围。
KingSCADA用户权限分如下几种:
1、修改配置权限:
拥有此权限的用户可以在线进行用户管理的配置和配方管理的配置。
2、变量访问权限:
拥有此权限的用户可以操作修改变量的值,若无此权限的用户则不可以修改变量的值。
6.3.2优先级
优先级是用户在运行系统进行画面操作时,对操作对象(包括图素对象、命令语言、变量、报警)进行访问保护的一种方式。
KingSCADA设定优先级有1~999,1级最低,999级最高,在系统运行时,只有用户的优先级大于等于操作对象的优先级时,才可以对该对象进行操作。
6.3.3安全区
KingSCADA提供安全区的策略来对图形用户交互界面(GUI)的操作对象(包括图素对象、命令语言、变量)的访问操作进行分区保护。
KingSCADA安全区最多为64个,一个用户可以包含1个以上的安全区操作权限,一个操作对象可以属于1个以上安全区,系统运行时,只要用户拥有的安全区与操作对象所属安全区有重合的,即可进行访问操作。
系统默认安全区为第一个安全区(无),系统不能同时拥有“无”和其他安全区。
6.3.4用户组
为了方便工程人员浏览和管理用户,KingSCADA提供了用户组的功能,工程人员可以将用户归属到不同的用户组中,而对于相关的用户归属到同一个用户组中。
6.3.4.1新建用户组
第一步:
在工程设计器的树型目录中选择“安全设置”选项并双击,弹出安全管理系统对话框,如下图所示:
图6-4安全管理系统对话框
第二步:
在上图中选择“用户”选项→单击鼠标右键,在弹出的右键菜单中执行“新建用户组”命令即可创建一个新的用户组,新建的用户组序列从1到n排列。
在创建用户组之后,可以右键点击相应的用户组,根据需要修改用户组的名称。
图6-5新建用户组
6.3.4.2编辑用户组
在安全管理系统对话框中,选择“用户”项下面欲编辑的用户组→单击鼠标右键,在弹出的右键菜单中选择“编辑用户组”命令对该用户组进行编辑,主要是更改用户组的名称。
6.3.4.3删除用户组
在安全管理系统对话框中,选择“用户”项下面欲删除的用户组→单击鼠标右键,在右键菜单中执行“删除用户组”命令即可删除该用户组。
6.3.5用户与角色
用户指KingSCADA运行系统中的所有合法使用者,用户只具有个人信息与密码信息,而无任何操作权限。
一个用户可以关联多个角色,并且只有关联了角色后才具有访问操作权限。
角色标识了一系列具有相同操作权限、优先级、安全区的用户,KingSCADA的用户可关联某个或某些角色,关联某个角色的用户就自然拥有该角色的权限。
6.3.5.1创建角色
第一步:
在工程设计器的树型目录中选择“安全设置”选项并双击,弹出安全管理系统对话框。
系统提供了一个不可删除不可编辑的系统管理员角色KVAdmin,该角色具有如下权利:
1、拥有所有的操作权限
2、优先级为999
3、无角色超时
4、安全区为全部
第二步:
选择“角色”选项,单击鼠标右键,在弹出的右键菜单中选择“新建角色”选项,弹出对话框,如图所示:
图6-6建立角色对话框
角色:
设置角色的名称,字符长度为32个字符。
描述:
设置角色的描述性说明,字符长度为64个字符。
操作等级:
选择角色的权限,包括修改配置权限和变量访问权限,用户可以根据需要任选一种或二者都选,此时,该角色就拥有了相应的权限。
✧修改配置权限:
可以修改系统配置(用户,配方)。
✧变量访问权限:
具有变量操作权限的用户,可以通过操作修改变量的值,否则,不能修改。
对于外部程序(API)通过接口对变量的设置都认为是合法操作。
优先级:
设置角色的优先级,优先级范围1~999,1级最低,999级最高。
角色超时:
设置角色超时属性及超时时间。
系统运行时,当时间达到角色设置的超时时间时,具有超时定义的角色将失效,即所有关联该角色的用户将不再拥有该角色的访问权限。
单击此项前面的复选框,该框中出现“√”表示选中,此时下面的时间设置框变为可编辑状态,在编辑框中选择角色超时的时间。
安全区:
KingSCADA安全区最多为64个,以无、A、B、C、……AA、BB、CC、……AAA、BBB、CCC、……KKK缺省命名,用户也可以通过该对话框中的“编辑”按钮为每个安全区重新命名,但“无”安全区不能被重命名。
用户可以根据需要选择一个或多个作为该角色的安全区,也可以单击“选择全部”项前的复选框,选择所有的安全区作为该角色的操作区域。
但要注意的是“无”安全区和其它任一安全区不能同时选择。
第三步:
设置完成后,单击“确定”按钮,完成角色的创建。
6.3.5.2编辑角色
在安全管理系统对话框中,选择“角色”项→在对话框的右侧角色列表框中选择欲编辑的角色项→单击鼠标右键,在右键菜单中执行“编辑角色”命令即可对该角色编辑。
6.3.5.3删除角色
在安全管理系统对话框中,选择“角色”项→在对话框的右侧角色列表框中选择欲删除的角色项→单击鼠标右键,在右键菜单中执行“删除角色”命令即可删除该角色。
角色被删除后,关联该角色的用户将失去该角色所拥有的权限。
6.3.5.4创建用户
第一步:
在KingSCADA工程设计器的树型目录中选择“安全设置”选项并双击,弹出“安全管理系统”对话框。
系统提供了一个不可删除不可编辑(除了密码)的系统管理员用户KVAdministrator,默认密码:
administrator,该用户具有如下权利:
1、无登录超时
2、无用户超时
3、自动关联了全部站点应用的KVAdmin角色
第二步:
选择“用户”选项,单击鼠标右键。
在弹出的右键菜单中选择“新建用户”选项,弹出对话框,如下图所示。
图6-7创建用户对话框
用户名:
设置用户的名称,字符长度为32个字符
用户组:
在下拉列表框中选择该用户所属的用户组。
描述:
设置用户的描述性说明,字符长度为64个字符。
密码:
为用户设置密码。
创建时间/修改时间:
用户第一次被创建的时间和最后一次被修改的时间,该项是系统自动生成的,不需要用户设置。
登录超时:
设置登录超时属性和超时时间。
应用运行时,用户登录后方可进行访问操作,当登录时间达到超时时间时,用户需重新登录才能继续进行操作。
单击此项前面的复选框,该框中出现‘√’表示选中,此时,时间设置框变为可编辑状态,在编辑框中输入登录超时的时间,以分钟为单位。
用户超时:
定义超时属性和超时时间。
应用运行时,当时间达到用户设置超时时间时,具有超时定义的用户将失效,即该用户不能再进行任何工控操作。
单击此项前面的复选框,该框中出现,“√”表示选中,此时,时间设置框变为可编辑状态,在编辑框中选择用户超时的时间。
第三步:
用户关联角色
选择该用户所关联的角色。
单击“角色”前的复选框,该框中出现‘√’表示选中,此时用户就拥有了该角色的所有权限。
单击“确定”按钮,完成用户的创建。
6.3.5.5编辑用户
在“安全管理系统对话框”(图6-4)中,选择“用户”项→在对话框的右侧用户列表框中选择欲编辑的用户项→单击鼠标右键,在右键菜单中执行“编辑用户”命令弹出如上图6-7所示的界面。
在用户配置界面可以编辑用户名称、用户所在组、描述、修改密码、编辑登陆超时、用户超时、以及该用户关联的角色。
6.3.5.6运行态下修改用户密码
进入运行态,如果登录的用户角色不是管理员的角色,那么“用户管理”选项灰显,不能被激活。
以管理员的角色登录后,有权限修改用户的登录密码,操作如下:
单击运行界面菜单栏的“系统”菜单,选中“用户管理”如下图所示:
图6-8
单击“用户管理”弹出如下图所示的界面:
图6-19安全管理系统
右键单击要修改登录密码的用户,弹出右键菜单如下:
图6-10安全管理系统
单击“设置密码”弹出“设置密码”界面,如下图所示:
原密码栏中输入用户的原密码
新密码栏中输入修改的新密码
确认栏中再次输入新密码
图6-11设置密码
如果新密码栏中输入的密码和确认栏中输入的密码一致,单击“确认”密码修改成功
图6-12提示框
如果用户输入的原密码错误,单击“确定”后,弹出如下图所示的提示框
图6-13提示框
单击“确定”提示框关闭,返回“密码设置”界面,重新输入密码。
如果连续三次输入的原密码都错误,弹出如下图所示的提示框:
图6-14提示框
单击“确定”按钮,提示框和密码设置界面都关闭,如果继续修改密码,重复从图6-11开始的操作。
6.3.5.7删除用户
在“安全管理系统对话框”(图6-4)中,选择“用户”项→在对话框的右侧角色列表框中选择欲删除的用户项→单击鼠标右键,在右键菜单中执行“删除用户”命令即可删除该用户。
6.3.6用户登录与注销
用户登录与注销操作可以通过两种方式来实现,分别是运行画面中的“系统”菜单中的登录和注销命令也可以用下面所讲述的两个函数来实现。
6.3.6.1通过菜单命令实现
1、登录:
进入KingSCADA运行环境,执行“系统”菜单中的“用户登录”命令,弹出对话框,如图所示:
图6-15户登录对话框
输入正确的用户名和密码,单击“确定”按钮即可完成用户登录,可对图素对象进行相应的操作。
如果您使用网络用户登录的话,要选中“网络用户”选项,如果是以本机用户登录的话,就不用选中该项。
网络用户是指网络中登录服务器的用户。
2、注销:
进入KingSCADA运行环境,执行“系统”菜单中的“用户注销”命令,可以对登录的用户进行注销,并弹出如下对话框:
图6-16户注销提示框
6.3.6.2通过函数实现
1、登录函数:
登录函数有两个:
LogOn()函数:
执行登录操作,弹出登录对话框。
如上图10-16所示
LogOnNoInput(stringstrUserName,stringstrPassword,boolbNetLogMode)函数:
执行登录操作,不弹出对话框,直接输入密码进行登录。
参数说明如下:
strUserName:
字符串类型,登录用户名称
strPassWord:
字符串类型,登录用户密码
bNetLogMode:
布尔类型,是网络用户还是本地用户,true:
网络用户,false:
本地用户
调用格式如下:
LogOnNoInput(“user1”,“user1”,false);
2、注销函数:
LogOff()
6.3.7动态修改用户
为使用户在运行环境下方便灵活的添加、修改、删除用户,KingSCADA中提供了函数EditUsers(),来实现这些功能。
下面具体介绍此函数的用法。
第一步:
新建画面名为:
用户,在画面上添加一个按钮,设置按钮的左键按下动画链接属性,如图所示:
图6-17键按下命令脚本
第二步:
编辑完成后,进入KingSCADA运行环境,以系统管理员(或以拥有变更管理权限的用户)进行登录后,按下此按钮将会弹出用户对话框,如图所示:
图6-18在线管理对话框
在此对话框中可以添加、修改或删除用户,操作方法与开发环境下的操作方法一致。
6.3.8与用户相关的系统变量和函数
6.3.8.1系统变量
与用户管理有关的系统变量是:
$User。
$User:
是内存字符串变量,利用此变量可以实现在应用运行时显示当前登录的用户名的功能,如果当前没有任何用户登录时,此变量显示为无。
6.3.8.2操作函数
除了上述介绍的操作函数外,还有如下操作函数:
1、AddUser(boolbLogonServer,stringstrUserName,stringstrGroupName,stringstrUserComment,stringstrPassword,intnLogonTimeOut,stringstrUserTimeOut)
功能:
在运行过程中动态增加本地或远程用户。
只有拥有用户管理权限的用户才能使用该函数增加用户。
参数:
bLogonServer:
布尔型,true表示增加登录服务器的用户,false表示增加本地用户。
strUserName:
用户名,字符串类型,32个字符,该参数不能为空字符串,也不能含非法字符:
:
;+-*/%&!
~|^<>={}[]().`’”\?
strGroupName:
用户组名称,字符串类型,16个字符,如果组名为空字符串,则不加入任何组;
strUserComment:
描述,字符串类型,64个字符
strPassword:
密码,字符串类型,32个字符,如果为空字符串,则表示无密码
nLogonTimeOut:
登录超时时间,整形,单位为分钟,范围为0到2的31方减1,即0-2147483647。
如果为0,表示无超时
strUserTimeOut:
用户超时时间,字符串类型,如果为空字符串,无超时。
格式为:
YYYY-MM-DDhh:
mm:
ss
返回值:
整型。
0:
成功;-1:
没有配置权限;-2:
用户名称错误(空、含非法字符,重名);-3:
用户组名称错误(不存在);-4:
用户描述超长;-5:
密码无效;-6:
用户登录超时时间小于0;-7:
用户超时时间格式错误;-8:
其它错误
调用格式:
AddUser(0,"KVUser1","Group1","KVUser1","admin",0,"2011-10-909:
30:
00");//增加本地用户。
AddUser(1,"KVUser1","Group1","KVUser1","admin",0,"2011-10-909:
30:
00");//增加登录服务器的用户。
2、ChangePassword()
功能:
可以在线修改用户密码,无参数
调用格式:
ChangePassword();
调用该函数弹出修改密码对话框,如下图
图6-19修改密码
3、ChangeUserPassword(boolbLogonServer,StringstrUserName,stringstrOldPassword,stringstrNewPassword)
功能:
在运行过程中动态修改用户的密码。
只有拥有用户管理权限的用户才能使用该函数编辑用户。
参数:
bLogonServer:
布尔型,true表示修改登录服务器中指定用户的密码,false表示修改本地用户的密码。
strUserName:
用户名,字符串类型,该参数不能为空字符串
strOldPassword:
原密码,字符串类型,32个字符,如果为空字符串,则表示无密码
strNewPassword:
修改后密码,字符串类型,32个字符,如果为空字符串,则表示无密码
返回值:
整型
0:
成功;-1:
没有配置权限;-2:
用户名称不存在;-3:
原用户密码验证失败;-4:
新用户密码无效;-5:
其它错误
调用格式:
ChangeUserPassword(0,"KVUser1","123","456");//修改本地用户KVUser1的密码
ChangeUserPassword(1,"KVUser1","123","456");//修改登录服务器的用户KVUser1的密码
4、CheckUser()
功能:
校验用户名和密码是否正确,无参数。
返回值:
校验正确返回true,校验不正确返回false
调用格式:
CheckUser();
调用该函数,弹出如下图所示的“用户检查”对话框:
图6-20
输入操作者的用户名和用户密码,监管者的用户名和用户密码,如果输入的操作者密码错误弹出如下提示框:
图6-21提示框
如果监管者的密码输入错误,弹出如下提示框:
图6-22提示框
5、CheckUserEx(StringTagOperatorName,StringTagMonitorName)
功能:
检测当前用户的密码,并返回操作者姓名和监管者姓名。
参数:
StringTag OperatorName:
引用类型,返回操作者姓名
StringTag MonitorName:
引用类型,返回监管者姓名
返回值:
密码正确,返回True,同时返回操作者姓名和监管者姓名;密码错误,返回False,不返回操作者和监管者姓名
调用格式:
CheckUserEx(应用变量,应用变量);
图6-23用户检查
6、DeleteUser(boolbLogonServer,stringstrUserName)
功能:
在运行过程中动态删除用户。
只有拥有用户管理权限的用户才能使用该函数删除用户。
参数:
bLogonServer:
布尔型,true表示删除登录服务器的用户,false表示删除本地用户。
strUserName:
用户名,字符串类型,32个字符,该参数不能为空字符串
返回值:
整型
0:
成功;-1:
没有配置权限;-2:
用户名称不存在;-3:
其它错误
调用格式:
DeleteUser(0,"KVUser1");//删除本地用户KVUser1;
DeleteUser(1,"KVUser1");//删除登录服务器的用户KVUser1;
7、EditUser(boolbLogonServer,StringstrOldUserName,StringstrNewUserName,stringstrGroupName,stringstrUserComment,intnLogonTimeOut,stringstrUserTimeOut)
功能:
在运行过程中动态编辑用户。
只有拥有用户管理权限的用户才能使用该函数编辑用户。
只有这里列出的用户属性会改变,其它的属性保持不变。
参数:
bLogonServer:
布尔型,true表示编辑登录服务器的用户,false表示编辑本地用户。
strOldUserName:
原用户名称,根据该名称找到用户并进行编辑,字符串类型,该参数不能为空字符串
strNewUserName:
新用户名称,将原用户名称改为该名称,32个字符,字符串类型,该参数不能为空字符串
strGroupName:
用户组名称,字符串类型,16个字符,如果组名为空字符串,则用户将不属于任何组
strUserComment:
描述,64个字符,字符串类型
nLogonTimeOut:
登录超时时间,整形,单位为分钟,范围为0到2的31方减1,即0-2147483647。
如果为0,无超时。
strUserTimeOut:
用户超时时间,字符串类型,如果为空字符串,表示无超时。
格式为:
YYYY-MM-DDhh:
mm:
ss
返回值:
整型
0:
成功;-1:
没有配置权限;-2:
原用户名称不存在;-3:
新用户名称错误(空、含非法字符,重名);-4:
用户组名称错误(不存在);-5:
用户描述超长;-6:
用户登录超时时间小于0;-7:
用户超时时间格式错误;-8:
其它错误
调用格式:
EditUser(0,"KVUser1","KVUser2","Group2","KVUser2","admin",0,"2011-10-909:
30:
00");//编辑本地用户KVUser1
EditUser(1,"KVUser1","KVUser2","Group2","KVUser2","admin",0,"2011-10-909:
30:
00");//编辑登录服务器的用户KVUser1
8、EditUserRole(stringstrUserName,stringstrRoleName,boolbRoleConfig)
功能:
在运行过程中动态关联和解除用户的角色。
只有拥有用户管理权限的用户才能使用该函数关联和解除用户的角色。
参数:
bLogonServer:
布尔型,true表示操作登录服务器用户,false表示操作本地用户。
strUserName:
用户名称,字符串类型,该参数不能为空字符串
strRoleName:
角色名称,字符串类型,该参数不能为空字符串
bRoleConfig:
是否关联角色,布尔型。
1:
关联角色;0:
解除关联
返回值:
整型
0:
成功;-1:
没有配置权限;-2:
用户名称为空或不存在;-3:
角色名称为空,不存在或用户没有此角色;-4:
其它错误
调用格式:
关联角色EditUserRole(0,"KVUser1","KVAdmin",1);
EditUserRole(1,"KVUser1","KVAdmin",1);
解除关联EditUserRole(0,"KVUser1","KVAdmin",0);
EditUserRole(1,"KVUser1","KVAdmin",0);
9、EditUsers()
功能:
在运行环境中动态修改用户和密码。
只有拥有变更管理权限的用户才能使用该函数修改用户和密码。
调用格式:
EditUsers();执行该函数弹出“安全管理系统”对话框,如下图所示:
图6-24安全管理系统
在弹出的对话框中添加、删除、修改用户和角色,操作过程和开发态下一致。
不同的是:
新建用户时没有“密码”选项,默认密码为空。
如果要修改密码,则可以右键单击新建的用户,在弹出的右键菜单中选择“设置密码”选项来完成用户密码的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 用户安全管理系统 用户 安全管理 系统