OPEN3000工程化手册_权限及责任区
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OPEN3000系统工程化手册
之六
权限及责任区
2006年5月
目录
第八章权限管理(PRIV_MANAGER) (3)
8.1概述 (3)
8.1.1 功能 (3)
8.1.2 特殊属性 (3)
8.1.3 角色 (4)
8.1.4 用户 (4)
8.1.5 组 (5)
8.2权限管理界面(PRIV_MANAGER) (5)
8.2.1 启动和退出 (5)
8.2.2 功能的定义与维护 (8)
8.2.3 角色的定义与维护 (9)
8.2.4 组的定义与维护 (12)
8.2.5 用户的定义与维护 (16)
8.3权限定义步骤举例 (24)
第九章责任区管理 (33)
9.1概述 (33)
9.2定义责任区 (34)
9.2.1启动责任区定义界面 (34)
9.2.2定义基本责任区 (34)
9.2.3定义复合责任区 (41)
9.3选择责任区(责任区切换) (44)
第八章权限管理(priv_manager)
8.1 概述
为了保证系统的安全性,不同的用户赋予不同的权限,只有被授权的用户才能作相应的操作。
而“用户权限定义与管理界面”(priv_manager)就是定义不同用户权限的工具。
系统的权限定义采用层次管理的方式。
相关的主体有五种:功能、角色、特殊属性、用户和组。
下面分别介绍这五个概念。
8.1.1 功能
“功能”是最小的不可再分的权限单位。
“功能”的定义原则是尽量简单化和单一化。
一个“功能”只实现一种目的,两个不同的“功能”之间不能有权限重合的部分。
权限管理中的功能是系统里设置了控制权限的功能。
例如,“查看前置报文”,在权限管理中就没有该功能,因此,“查看前置报文”就没有权限控制,任何人都可以看前置报文。
而权限管理中有“遥控“这个功能,因此,“遥控”功能是受权限控制的,只有具有“遥控”权限的用户才能进行遥控操作。
用户不能添加权限定义里的功能。
8.1.2 特殊属性
与功能一样,特殊属性也是最小的不可再分的权限单位。
但特殊属性一定是作用在某一个具体的对象(包括数据表域,报表和图形)之上,用于对该具体对象权限的补充定义。
一般来说当定义了“模型定义写”权限的用户可以对所有的表写操作,当然也可以对某些表的某些域或所有域(全表)定义禁止查询/只查询/修改/删除记录/增删改等等特殊属性权限。
实际应用是,一般的远动维护人员可以对设备表,参数表等等进行读写操作,但是像PUBLIC/系统类/表信息表,域信息表,菜单表等等数据字典类的表非常关键,如果被误修改可能导致整个系统无法运行,像这些关键的表只能允许系统管理员修改,而普通具有“模型定义写”权限的角色则不能对这些特殊的表修改。
可以设计如下,定义角色“系统维护”和角色“系统管理”都具有“模型定义写”功能,在角色“系统维护”里定义数据表域特殊属性,对表[表信息表,域信息表…菜单表]等等定义“只查询”,这样仅拥有“系统维护”角色的用户只能对上述定义了特殊属性的表(表信息表,域信息表。
菜单表)查询,而不能写,而拥有“系统管理”角色的用户则可以对所有的
表进行写操作,这样就增加了系统的安全性。
同样,可以对某个角色(用户)定义某张具体的图形的“禁止读取/只读/可编辑”特殊属性,对某张具体的报表定义“读取/只读/可编辑”的特殊属性。
8.1.3 角色
角色由一个或多个功能以及一个或多个特殊属性组成。
角色定义的原则是:组成角色的功能之间应该具有横向或纵向的协作关系,完全没有关系的功能不应放入同一个角色之中,具有相反权限的功能也不应放入同一个角色之中,角色的定义应该尽量最小化,如果一个角色中有两类功能组合,最好定义成两个角色。
例如,可以定义系统运行角色,系统维护角色和数据库管理员角色,系统运行角色包括“画面挂牌”,“画面遥测封锁”,“遥控”等等运行类功能,系统维护角色包括“告警方式定义”、“曲线定义”、“采样定义”、“画面文件写”、“报表文件写”、“公式修改”,“模型定义写”等等维护的功能,数据管理员角色包括“商用库恢复”、“商用户备份”等等数据库维护方面的功能。
8.1.4 用户
用户是权限系统中最重要的主体,是用户权限设置的最终体现,一个用户可以定义包含几种角色,那么用户就可以拥有角色的全部权限。
还可以单独对用户进行功能定义,比如单独增加角色中没有的功能,或者单独减去角色中的功能。
还可以对用户进行特殊属性的设置。
例如,定义了角色“系统维护”包括功能“公式修改”,“模型定义写”,角色“系统维护”,还包括对表“表信息表”只读的特殊属性,角色“数据管理员”包括功能“商用库恢复”、“商用库备份”,定义用户whz,包含角色“系统维护“,“数据管理员“,但是对功能“商用库恢复”定义了“单独减去“,对表“菜单表“定义了只读的特殊属性,则用户whz拥有的全部权限是从角色“系统维护“继承的“公式修改”,“模型定义写”和对“表信息表“只读,还有从角色“数据管理员“继承的“商用户备份”,还有自己单独定义的对表“菜单表”只读,即功能列表如下“公式修改”,“模型定义写”、“商用户备份”和对表“表信息表“、“菜单表”只读。
系统中分为三种级别的用户:超级用户、组长、普通用户,不同级别的用户的权限不同。
超级用户的权限最大,可以创建、删除用户,创建、删除角色、创建、删除组,以及定义,修改用户权限、角色权限,还可以定义组里的用户,但不能修改普通用户的密码,只能在创建时生成初始密码;组长级别的用户可以修改组员的权限,但不可以修改组员的密码,也不能创建、删除用户;而普通用户除了能浏览本组成员的
信息之外只能修改自己的密码。
一般情况下超级用户不在界面上显示,只有用特殊参数登录时才显示。
但也只能修改超户的密码,不能修改其它属性。
8.1.5 组
组的引入是为了对用户进行分类,组本身不是权限的载体。
组和用户的关系,类似于文件夹和文件的关系。
一个用户可以不属于任何组,或者只能属于一个组,但不能同时属于多个组。
8.2权限管理界面(priv_manager)
8.2.1 启动和退出
权限定义与维护管理界面的启动方法有两种:
方法一:在总控台选择“用户权限定义与维护管理”图标按钮;
方法二:在命令窗口下执行priv_manager命令。
无论执行上面两种方法的哪一种,都要先登录,由于不同级别的用户权限不同,因此启动用户权限定义与维护管理界面也是不同的。
在登录对话框中输入用户名称、密码,以超级用户身份启动“用户权限定义与管理界面”,如图6-1(a)所示,可以看到定义的所有的组和用户。
图 6-1 (a) 用户权限定义与维护管理系统界面(超级用户)以普通用户(属于“自动化维护”组)身份启动“用户权限定义与管理界面”后,只能看到自己所属的组,界面如图6-1(b)所示。
图 6-1 (b) 用户权限定义与维护管理系统界面(普通用户)
用户权限定义与维护管理系统界面分为两大部分,第一部分是左边树状列表区显示当前已有的各类权限实体,主要有功能、角色、组以及特殊属性,第二部分是图6-1的右边显示当前选中信息区域,比如在树状列表显示区选中功能选项,则在右边就会列出所有的功能。
从图6-1(a)(b)可以看出普通用户与超级用户的区别,在左侧的树状列表中,图6-1(b)只显示了“自动化维护”组以及组员的信息,这是因为登录时的普通用户ems属于“自动化维护”组,而普通用户除了修改自身密码之外只能浏览本组成员的信息,所以其它组的信息就是不可见的。
在图6-1中的最下方显示当前用户名以及用户级别(超级用户还是普通用户),“重登录”工具允许用户重新以另外一种用户登录,“退出”工具退出权限定义与维护管理系统应用程序。
用户权限定义与维护管理系统的退出方法有两种:
方法一:点击界面左边的“-”,选择其中的关闭选项;
方法二:在图6-1的右下角选择“退出”按钮。
8.2.2 功能的定义与维护
功能的定义和维护允许新建、修改和删除功能,用户一般只需查看功能,由工程人员新建、修改和删除。
新系统中最多允许定义200个功能(编号从1到200),每个功能有一个唯一的编号、名称和定义。
在图6-1左侧树状列表中,当”功能”树节点获得焦点时(选中功能选项),在右侧的列表视图中显示当前全部功能的详细信息。
其中”被角色使用”列表示是否已经有角色使用了当前功能作为组成部分,“√”表示该功能已经有某个角色拥有了这个功能,”被用户使用”列表示是否已经有用户使用了当前功能作为组成部分。
“√”表示该功能已经被某个用户单独定义了,功能即可以被角色使用,也可以被用户单独使用。
(缺图,标注”被角色使用”, ”被用户使用”)
在任何一个功能上单击鼠标右键,就会弹出如图6-2所示的下拉菜单,可以进行功能的添加、修改和删除以及察看被授予者。
实际上功能处在最底层,每个功能都对应一个宏,一般情况下,是不允许用户修改与编辑的。
图 6-2 功能操作下拉菜单
4 察看被授予者
在图6-2中选择“察看被授予者”,查看包含当前功能的全部角色和用户的名单。
如图6-7所示就是执行察看被授予者功能之后的显示信息一个例子。
图6-7 察看功能被授予者显示信息
8.2.3 角色的定义与维护
1 与角色权限有关的表
角色的定义和维护允许用户新建、修改和删除角色。
新系统中最多允许定义31个角色(编号从1到31),角色可以由1至200个功能组成。
每个角色有一个唯一的编号、名称。
2 添加角色
当”角色”树节点获得焦点时,在右侧的列表视图中显示当前全部角色的概要信息,包括角色是否已经被用户包含的信息。
当某一个具体角色的树节点获得焦点(在图6-1左侧选中角色)时,在右侧显示该角色的全部详细信息,并可以对该角色的属性进行编辑。
在图6-1中,打开角色前面的“+”,就会显示所有的角色,在任何一个角色上单击鼠标右键,就会弹出如图6-8所示的下拉菜单:
图 6-8 角色操作对话框
在图6-8中的下拉菜单中,选择“添加新的角色”选项,就会弹出如图6-9所示的对话框:
图 6-9 添加新的角色对话框
系统自动从未分配的角色编号中选出最小的一个赋给新角色。
由角色的定义可以看出,角色包括1到多个功能和0到多个特殊属性组成,因此添加新的角色包括两部分,添加功能和添加特殊属性。
一个角色必须至少包含一个功能图6-9中右侧的中间部分为添加功能部分,从“系统中已有的功能”列表中选择功能通过“添加”按钮,添加到“当前角色包含的功能”列表。
也可以从““当前角色包含的功能”列表中选择功能通过“移除”按钮删除当前角色所包含的功能。
图6-9中右侧的下部为添加特殊属性部分,特殊属性分为对数据表域、图形、报表的操作。
而数据表的可用权限分为禁止查询、只查询、修改、增删记录、增删改五种,数据域的可用权限分为禁止查询、只查询、修改三种;图形的可用权限分为禁止读取、只读、可编辑三种;报表的可用权限分为禁止读取、只读、可编辑三种。
选择数据表(或者域)、图形、报表然后再选择相应的可用权限,通过“添加”按钮添
加到“当前角色具有的特殊属性”列表中;也可以在“当前角色具有的特殊属性”列表中选择特殊属性,通过“移除”按钮删除当前角色的特殊属性。
点击“应用”按钮将根据输入的信息更新角色定义表,点击“还原”按钮将撤消所作的输入工作。
因为是新角色,因此在更新数据库时不需要去检查是否有用户包含了该角色。
3 修改角色
在图6-1中左侧的树状列表中选择一个角色,右侧显示当前角色的所有信息,包括角色编号、角色描述以及当前角色所包含的功能与特殊属性。
用户不能修改角色编号,可以修改角色所包含的功能与特殊属性。
对当前角色所包含的功能和特殊属性的编辑(添加或者移除)与“添加新的角色”过程相同。
注:如果当前修改的角色没有被任何用户所包含,则只需要修改角色定义表即可。
如果有用户包含了该角色,还需要修改这些用户相应的权限,同时给出提示,告诉用户这次角色的修改导致了哪些用户权限的改变。
4 删除角色
在图6-8中的下拉菜单中,点选“删除当前角色”选项,将删除当前选中的角色。
注:只有当前角色没有被任何用户所包含时,才能允许删除当前角色。
如果没有用户包含该角色,提示对话框如图6-10(a)所示。
否则给出“用户包含当前角色”的提示,如图6-10(b)所示。
如果确实要删除当前角色,需要先从这些用户中去掉该角色。
图 6-10 (a)确认删除角色对话框图 6-10(b)角色无法删除提示信息
5 察看被授予者
在图6-8中的下拉菜单中,点选“察看被授予者”选项,弹出如图6-11所示的信息,显示包含当前角色的所有用户。
图 6-11 察看角色被授予者显示信息
8.2.4 组的定义与维护
因为组本身不具有权限信息,因此组的定义和维护比较简单。
允许用户新建、修改和删除组。
当”组”树节点获得焦点(在图6-1中左侧树状列表中选择“组”)时,在右侧的列表视图中显示当前全部组的概要信息,包括组中是否包含用户的信息,如图6-13所示。
当某一个具体组的树节点获得焦点时,在右侧显示该组的全部详细信息如图6-14所示,并可以对该组的属性进行编辑。
图 6-13 全部组的信息
图6-14 具体某个组所包含的信息
在图6-1的左侧,鼠标右键单击某个具体的组就会弹出如图6-15所示的下拉菜单:
图6-15 组操作下拉菜单
其中添加新的用户会在用户的定义与维护具体说明,下面分别说明以下几个操作。
1 添加新的组
在图6-15中选择“添加新的组”,就会弹出添加新的组对话框如图6-16所示:
图 6-16 添加新的用户对话框
添加新组时,程序会自动从当前未分配的组编号中选出最小的一个赋给新组。
组的编辑主要包括对当前组包含的终端节点以及用户的编辑。
在图6-16中的中间部分就是对终端节点的编辑,从“系统中已有的终端节点”列表选择终端节点通过“添加”按钮,加入到“当前组具有的终端节点”列表。
也可以在“当前组具有的终端节点”列表选择终端节点,通过“移除”按钮从“当前组具有的终端节点”列表中删除该终端节点。
只有在当前组具有的终端上,属于该组的的用户才有效,否则是无效的。
在图6-16中的右下方可以选择当前组所包含的用户,方法如下:在“系统中已有的用户”列表选择用户,通过“添加”按钮,添加到“当前组包含的用户”列表,也可以在“当前组包含的用户”列表选择用户通过“移除”按钮从“当前组包含的用户”列表删除该用户。
由于一个用户只能属于一个组,因此如果选择一个已经属于某个组的用户添加到另外一个组中,则这个用户就会自动从原来的组中删除。
在图6-16中点击“应用”按钮会根据用户输入的信息更新数据库,组添加成功之后,系统提示是否为新组指定一个组长,如果选择“是”,则会弹出一个对话框如图6-17所示,列出当前组包含的所有组,然后选择一个用户,点击“确定”按钮,所选用户就成为该组的一个组长。
图 6-17 选择组长对话框
在图6-16中点击“还原”按钮则会撤消用户所作的输入工作。
2 修改当前组
在图6-1的左侧树状列表中选择具体的某个组就会显示该组的全部信息,如图6-14所示。
修改组时用户同样不能修改组编号。
可以修改组名称,组描述以及组中包含的用户。
修改组所包含的终端节点与所包含用户同新建组相同,每次对组所包含用户作修改之后,原来的组长就不再生效,必须重新为当前组指定一个组长。
3 删除当前组
删除组时,如果当前组中包含了用户的话,则当前组不能被删除,系统会给出提示信息“无法删除一个包含用户的组”。
如果确实需要删除当前组,则应该先把当前组所包含用户删除,然后再删除当前组。
这时候系统弹出
一个要求用户确认删除该组的对话框。
当前组被删除之后,原有编号被收回,但排在其后的组编号不作改动。
8.2.5 用户的定义与维护
前面所讲述的功能、角色和组都是抽象的权限主体,而用户则是具体的、实例化的权限主体,是用户权限设置的最终体现者。
用户不能直接通过功能或角色,而只能通过一个一个的具体用户来访问和操作新系统。
用户权限的组成比较复杂,从纵向上看,功能、角色都可以成为用户权限的组成部分。
而且用户还可以附加对数据表域、报表和图形的特殊属性。
从横向上看,用户的权限分默认权限和责任区权限两种。
同一个用户在不同的责任区可以有完全不同的权限组成。
(这里的完全不同,是指在不同的责任区,组成用户的功能、角色以及特殊属性都可以不一样。
即用户权限在不同的责任区上是完全独立的)如果用户在某一责任区上没有定义责任区权限,那么将使用默认权限作为用户在该责任区上的权限;如果已经定义了责任区权限,则以该责任区权限为准。
一个用户必须有且仅有一个默认权限,而且在一个责任区上只能有一个责任区权限。
新系统中可以定义的用户数目不受限制。
理论上,一个用户最多可以同时包括31个角色和200个单独功能,用户可以附加的特殊属性数目不限。
2 添加新的用户
在图6-1中左侧树状列表中鼠标右键单击某个具体的用户,就会弹出如图6-18所示的下拉菜单。
图6-18 用户操作下拉菜单
在图6-15或者图6-18中选择“添加新的用户”,就会弹出一个新的用户信息配置对话框如图6-19所示。
图 6-19 添加新的用户对话框---配置角色
用户可以输入除了用户编号和创建日期之外的全部属性。
点击更改密码按钮,将弹出一个新的对话框要求用户输入旧密码,新密码和确认新密码。
利用"所属组"下拉框,可以修改用户所属的组。
(缺图_ 界面上提供一个选项卡控件供用户修改当前用户的权限属性,前三个卡片分别可以修改用户中包括的角色、功能和特殊属性。
图6-19为选中“配置角色”选项卡时的界面。
角色和特殊属性的编辑在前面已经详细说明,不再赘述。
功能的编辑与上面所述略有不同。
在图6-19中,点击“配置功能”选项卡,弹出功能配置界面如图6-20所示。
图 6-20 添加新的用户对话框---配置功能
在图6-20中选择一个功能,通过双击鼠标左键可以在“添加的单独功能”和“减去的单独功能”之间切换。
“增加的单独功能”就是在角色所包含的功能之外再单独增加所选功能,相反地,“减去的单独功能”就是在当前用户所包含的角色中减去所选功能(如果当前的角色包含所选功能)。
编辑完毕之后可以通过界面上的“应用”或者“确定”按钮,更新数据库中的信息。
3 修改当前用户
在图6-1左侧列表中,选中某个具体用户,右侧显示选中用户的全部信息,如图6-21所示。
图 6-21 用户显示信息
图6-21中,前三个选项卡(角色配置、功能配置、特殊属性配置) 与图6-19相同.最后一个选项卡“浏览权限信息”,可以显示属于当前用户的功能配置、角色配置、特殊属性配置以及最终的功能组合等信息。
除了当前用户的编号与创建日期不能修改之外,其它信息均可修改,方法与添加新用户相同。
4 添加责任区权限
以上所述的内容都是编辑或者修改用户的默认权限。
以下介绍责任区权限的添加。
在图6-18中选择“添加责任区权限”,就会弹出如图6-22所示的责任区权限编辑对话框。
图 6-22 添加责任区权限对话框
图6-22与图6-19添加用户界面所不同的就是编号与责任区了:编号不同于用户的编号,这个是每个用户下的不同的责任区编号,系统每次都赋给新的责任区一个最小的编号;责任区在下拉列表中选择。
角色配置、功能配置、特殊属性配置界面与添加新的用户相同,方法也相同。
如果当前用户添加了责任区权限,则在该用户的树节点下(图6-1左侧)还会出现责任区权限子节点。
鼠标左键双击责任区权限子节点,就会显示当前责任区权限的全部信息,并可以在这个界面上进行修改当前责任区权限,修改方法与修改当前用户的方法相同。
5 类似创建用户
类似创建用户功能允许用户创建一个与当前用户类似的用户。
类似创建只创建用户的默认权限,不创建责任区权限。
在图6-18中选择“类似创建用户”,就会弹出一个与当前用户相同权限的用户显示界面。
用户输入新用户名称,并且可以修改用户的权限,修改方法与修改当前用户的方法相同。
同样点击“应用”按钮系统就会自动更新数据库中的内容,点击“还原”按钮就会撤消用户的操作。
6 删除当前用户
在图6-18中选择“删除当前用户”,就会弹出一个对话框要求用户确认是否真的删除当前用户,点击“yes”按钮,就将当前用户删除。
7 类似创建权限
在图6-1左侧列表中,选中某用户下的责任区,点击鼠标右键,就会弹出如图6-23的下拉菜单。
其中“添加责任区权限”前面已经说明。
下面分别说明类似创建权限以及删除责任区权限的方法。
图 6-23 责任区操作下拉菜单
实际上,这里的类似创建权限就是类似创建用户的责任区权限,而不是默认权限。
在图6-23中选择“类似创建权限”,就会弹出一个与当前责任区相同权限的责任区对话框。
在此对话框上,用户选择责任区,并且可以修改用户在所选责任区的权限,修改方法与修改(添加)责任区权限的方法相同。
8 删除责任区权限
在图6-23中选择“删除责任区权限”,就会弹出一个对话框要求用户确认是否真的删除当前用户的当前责任区,点击“yes”按钮,就将当前用户当前责任区删除。
前责任区,点击“yes”按钮,就将当前用户当前责任区删除。
8.2.6 数据表域特殊属性的定义与维护
在角色的定义与维护中已经说明,特殊属性包括数据表域、图形和报。
而只有数据表域的特殊属性才需要定义与维护,图形和报表有其它的处理办法,这是因为数据表域的内容比较多,不能像图形或者报表那样处理。
图形的处理方法:在数据库中的表GRAPH_INFO_NET(存储所有作网络保存的图形)图形信息表中有一个“图形权限类型“域,这个域值为“系统可读写“时说明是可以进行特殊属性操作的图形,否则就不是,从而在角色定义与维护或者用户的定义与维护中此图形是不可见的。
例如:图形信息表/地理潮流图.ln.h.edg的“图形权限类型“为“系统可读写“时,在权限定义/特殊属性/图形/就能看到地理潮流图.ln.h.edg,可以对地理潮流图进行特殊属性定义,如果图形信息表/地理潮流图.ln.h.edg的“图形权限类型“为其他的时候,权限定义/特殊属性/图形/就看不到地理潮流图.ln.h.edg,不能对他进行特殊属性定义。