信息系统中的角色权限管理设计

2019-01-13 09:48朱军红唐明根张小玲
中国管理信息化 2019年23期
关键词:组织机构系统管理角色

朱军红 唐明根 张小玲

[摘    要] 各类软件应用系统几乎都涉及系统应用权限、系统用户账号处理问题,每开发一个应用系统进行一次重复性的劳动费时费力。文章文以系统管理各种概念的区别入手,在明确概念的前提下提出了一套通用系统管理的设计方案。可为应用软件系统开发团队提供有益的借鉴。

[关键词] 系统管理;用户;角色;岗位;组织机构;权限

doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 23. 059

[中图分类号] TP315    [文献标识码]  A      [文章编号]  1673 - 0194(2019)23- 0138- 03

1      开发通用系统管理的意义

从Windows、Linux等操作系统到各类的应用管理系统,每个系统都需要处理系统权限与用户账户问题。管理信息系统还需要处理组织机构、人员、客户等问题。定义一种适应于各类系统的系统管理机制,开发成相对独立的系统,重复应用在多个不同的系统中可以节约开发时间,提高开发效率,缩短软件开发周期。提高软件开发效益。

2      几个容易混淆的概念

2.1   人员与用户

在信息系统建设过程中都存在人员与用户的管理问题。

首先,有的系统每个企业成员都要登录使用系统,所有人员都是用户。有的系统部分人员登录使用系统,只有部分人员才是用户。其次,用户信息与人员信息有相互重叠,可对系统分析设计人员造成迷惑。

以上两种客观事实的存在就给软件开发者,尤其是缺乏经验的开发者带来了混淆。在系统设计之初不能正确的处理两者的关系,将二者混为一谈用一张数据表存放信息,在后期的开发设计应用中总感觉别扭不顺手。其实人员信息是企业中需要统一规划的一个基本信息,人员信息涉及企业各种管理活动,人员信息可以简单到采用一张数据表存放,也可以复杂到采用人力资源管理系统进行管理。不管企业规模的大小人员信息是一个实体,必须单独存放。存放人员信息应该设置本企业人员的唯一识别号,唯一识别号长度信息容量应该考虑企业的规模及企业的发展不宜太短。企业信息系统的用户来源于人员,企业中可能具有多种的应用系统,应用系统的用户可以采用不同类型的数据库存放,但是对于相同的人不论在哪个系统中人员信息应该是相同的唯一的,不应该相互冗余也不应该不一致。

2.2   岗位与角色

角色是完成一定任务的执行者,一个演员在同一部戏中可以扮演女儿,同时扮演青年时代的妈妈,女儿与妈妈在戏里是两个角色,但扮演者是同一个人。这与企业管理中的角色和岗位的关系很相似,戏中扮演者的岗位是演员,根据剧情的需要可以扮演不同的角色。企业中的岗位是员工从事工作的职位,一个岗位根据企业运营的实际需要,可以执行多种任务担当不同的角色。企业各类管理事务的执行都是通过角色的担当来完成,角色是企业具体活动的承载者,是各种执行权限的体现者。系统设计中需要将岗位和角色采用不同的数据表存放信息,鉴于一个岗位可以承担多个角色上的工作任务,需要设计数据表存放岗位与角色间的关系。在建立信息系统时需要区好角色与岗位的关系才能够设计出灵活方便,易于使用的信息系统,同时便于系统扩充。

2.3   组织机构与隶属关系

在进行需求分析时企业常给开发者介绍企业的组织架构,组织架构一般是以树形结构的方式体现,树形结构有效地体现了企业组织的隶属关系,在企业管理者看来树形结构表现了企业各部门间的管理关系。实质上企业展现给分析人员的树形结构表现了两层意思,其一是企业有哪些机构,其二是机构间的隶屬关系,在系统设计中极容易将两者混淆,不能正确的设计结构,通常会采用一张数据表存放企业组织架构。结果在程序编制中这样的结构也能使用,但是在组织结构发生变化或隶属关系发生变化时,对于查询历史数据就会造成极大的不便。正确的做法应该是将两种关系分开存放,对于组织机构要纳入信息资源统一规划的范畴,一个机构在企业只要产生过就应该具有唯一的代号,即使将来该机构取消了,其机构代码还应该存在,这样便于历史信息查询。机构间的隶属关系可能会随着企业的发展发生变革,对于隶属关系变革都需要进行存储。当然将组织机构与隶属关系分开存放是一种符合数据范式的做法,如果你愿意也可以采用一张数据表存放两种关系,在每条记录中加入一个parentID字段用于存放上级组织机构的编码,该表采用双亲表示法可以存放数据库组织机构及隶属关系两种信息,但是应用起来可能会麻烦一点。

3      权限的存储方式

软件中系统权限存储采用授权文件、授权记录、授权字符串三种方式进行存储,对于一些软件根据系统运行的硬件信息,如CPU号、网卡硬件地址、硬盘序列号等信息结合软件采用一定的算法生成一个软件授权文件,软件运行时系统根据硬件察看授权文件,如果运行软件的硬件信息与授权文件一致系统将运行,否则软件将不运行。授权记录适用于系统权限较多,每个权限采用特殊的记录存放,记录的存放形式可以是文本文件记录也可以是数据库记录。具有对应记录就可以运行对应的软件功能模块。不具有对应的记录相应的软件功能将不能运行。在系统权限较少且具有规律性的情况下,可采用字符串或数字来表示系统权限,在unix系统中对于文件的权限采用三位数字表示文件所有者、同组人员、其他人员对文件的读写及执行权限。如777表示文件所有者、同组人员、其他人员都可以对文件进行读写与执行操作,当然给文件设置777的权限是一种较为危险的做法,还是设置成755比较安全些。想详细了解Unix系统权限可以参阅Unix的相关书籍。

4      灵活的权限分配机制

对于系统权限较多,用户较多的软件系统进行系统初始设置将是一件极为费时的工作。为了便于用户的使用,提高系统效率,通常的做法是在系统中设置一些角色,根据需要为每个角色设置若干的系统权限,然后再设置一些岗位,为岗位分配一定数量的角色,最后将人员分配到各岗位上去。系统运行时就可以根据用户的岗位查看到角色,然后根据角色直接查看到系统的权限,这样做就可以避免直接为每个人员分配权限,直接为每个人员直接分配角色的烦琐操作,达到了有效提高管理效率的目的。当然采用岗位、角色权限管理机制还是不能解决所有的需求。为了满足将特定权限可授权给指定用户的需求,软件系统需要在提供岗位、角色权限分配机制的前提下同样提供直接将权限直接分配给用户的机制,如Windows中可以将系统备份权授权给任何指定的用户。只有这样才能够适应实际的市场需求。

5      系统管理物理设计

如图1所示,本结构采用PowerDesigner设计,为适合于通用系统管理的要求,删除了具体项目中使用的一些字段,系统权限采用了记录方式存放,首先将系统使用到的权限存放在系统权限表中,然后为角色分配系统权限,为岗位分配角色,最后给人员分配岗位,再根据需要为用户分配特定的权限。用户登录系统后,可以根据用户编号查询用户岗位信息,然后查询角色信息,根据角色权限表得到用户岗位下的所有权限,再根据用户编号查询用户权限表得到单独分配给用户的权限,最后将两个查询结果求并集得到用户真正拥有的所有系统权限。

一个角色可以拥有多个系统权限,不同的角色可以拥有相同的系统权限。

6      系统权限与其他权限综合使用

在现实的生活中对于软件保护与简单的业务管理使用单一的一类权限管理就可以满足实际的需要,但是对于业务复杂的管理系统可能会涉及多种权限的配合使用,才能有效灵活地管理信息。如一家公司在全国有多个销售点,在一座城市又具有多家门店,各门店具有同样的业务操作,要求各门店使用同一数据库系统,门店间可以查询库存以便于销售时库存信息共享,销售其他门店具有库存的商品,这样的系统就需要具有门店权限,具有本门店权限的销售人员可销售本门店的商品,商品销售后库存减少。对于其他门店的商品库存,这个销售人员只能查看库存。如果商品的种类较多,可能还需要对商品分类,并对每个用户分配不同的大类权限,用户只有具备了该大类商品管理权才能实施系统赋予的销售或入庫等操作。在同一个系统中各种权限的方式可以不相同,系统权限可以采用数据库记录的方式进行存放,系统设计时可为各种系统权限定义具体的权限记录,在系统权限表中具有该记录表示具有该权限,否则没有该权限。对于商品大类这样的权限,由于商品大类较多,各大类又具有相同的特性,存放这类权限采用字符串或二进制串较为合理,一次取出所有大类的权限。

7      权限使用

用户登录系统时,可将用户的权限从数据库取出,对权限结构进行权限初始化,然后将权限在结构缓存起来,程序中可以调用权限结构进行权限判断,以确定信息是否可以显示,业务能否操作完成等。登录取出权限缓存使用可有效减少数据库连接次数和数据查询时间,可提高软件系统的运行效率。这种方法已被广泛应用。

8      改进意见

在现实中有些角色是不能有相同的人担任,有些权限不能让一个用户同时拥有。为了保证系统管理的严谨,系统管理中还需要设置角色冲突信息表和权限冲突信息表,将相互冲突的角色与相互冲突的权限存放起来。在为岗位分配角色时可检查角色冲突表,确保相互冲突的角色不能分配给同一个岗位。在分配权限时可检查权限冲突表,确保相互冲突的权限不会分配给同一个用户。

猜你喜欢
组织机构系统管理角色
《系统管理学报》征稿简则
财务共享服务中心管理模式优化
现阶段做好工程项目总承包管理工作的分析
人力资源开发与智力资本提升的关系探析
普通高等学校思想政治教育辅导员角色问题研究
关于动画人物角色设定中的服饰设计研究
农民工子女融合教育:教师的角色与使命
《系统管理学报》征稿简则
欢迎订阅《系统管理学报》
高职艺术设计专业项目教学中心运营模式的实践研究