APP下载

基于权限对象的用户管理策略

2017-04-13孙立民孙宏波

软件导刊 2017年3期
关键词:客体管理策略信息系统

刘 璐,孙立民,孙宏波

(烟台大学 计算机与控制工程学院,山东 烟台 264005)

基于权限对象的用户管理策略

刘 璐,孙立民,孙宏波

(烟台大学 计算机与控制工程学院,山东 烟台 264005)

当企业的业务类型由规模生产向定制化生产转变时,其信息系统面临管理粒度、市场快速响应等挑战,也对用户管理策略提出了更高要求。然而,传统的用户管理策略对客体的管理粒度较粗,动态性能不佳,很难满足企业转型升级的需要。提出了一种基于权限对象的用户管理策略,从多个维度对权限进行约束,能够有效实现动态、灵活的在线权限配置,并结合实际系统,对该权限控制、权限生成与权限变更等方法的可行性进行了验证。结果表明,用户管理策略的有效性和灵活性都得到了显著提高。

信息系统;用户管理策略;权限对象;权限控制;动态权限

0 引言

工业直接体现了一个国家的生产力水平,是我国经济增长的发动机[1]。进入本世纪以后,步入工业化后期的中国作为制造大国的地位已经被世界所公认,而国际经验表明,该阶段往往是曲折和极富挑战性的。对我国而言,后工业化的主要挑战包括人力成本、产业集群的支持和产品对于市场的快速响应等[2]。

传统的企业信息系统主要配合大规模工业生产[3],当企业的业务类型由规模生产向定制化生产转变时,其信息系统也面临着巨大挑战,其中包括[4]:①企业生产产品的种类更多,管理更加复杂。在生产过程中,制程和BOM(Bill of Material)随时会发生变化,混批生产成为一种常态;②企业的管理粒度更加细化,不再局限于批次管理,而是要能够做到个体产品的有效追溯;③由于需要对市场作出快速响应,企业的生产决策需要更加灵活和便捷。

与此同时,随着企业业务的发展,企业信息系统中的用户与角色信息逐渐变得更加复杂[5],为系统设置有效的用户管理策略也成为信息系统中需要重视的环节[6]。本文提出了一种基于权限对象的用户管理策略,从权限控制、权限生成、权限变更等方面论述了可有效管理多种类、小粒度的多维权限客体,以及通过动态权限提高生产决策灵活性的一种解决方案。

1 用户管理策略

本文中的用户管理策略是指对与系统相交互的操作者行为进行约束的一种机制[7],包括权限生成、权限控制、权限变更等方面。其中,权限控制是核心问题。权限控制是指特定主体针对特定客体的行为进行控制,其三个要素分别为:主体、客体和行为。

权限主体,指权限控制中行为的发出者。主体主要包含个人主体和群体主体。群体主体指用户组,他们往往具有某些相同的操作约束,如某公司的用户不能访问集团内其它公司的数据。对于群体主体的约束相当于对用户组中的所有个体都设置了相应约束;个人主体主要指某一具体用户。针对权限主体,传统信息系统中大多采用基于角色的访问控制策略(RBAC, Role Based Access Control)[8]。它从主体的角度,将使用系统的用户划分成不同角色,通过对角色权限的授予,使用户获得权限。

权限客体,指权限控制中接受主体所发出行为的受体。传统的权限客体主要包括空间和类。类是同构操作对象的集合,而空间是异构类的集合。传统的客体约束方法有权限锁[9]和空间指定方式[10]。

权限行为,指权限控制中主体对客体进行的操作,分为可视行为和可操作行为。可视行为指系统中主体对客体的可见性,包括对空间的可见性、对类的可见性、对属性的可见性和对对象的可见性;可操作行为指可对客体进行的管理和操作,也包括对空间的可操作性、对类的可操作性、对属性的可操作性和对对象的可操作性。传统的行为约束方法有权限控制表[11]、权限控制矩阵[12]等方式。

当需要进行更小粒度以及更加灵活的权限控制时,传统的权限控制方法则会面临以下挑战:①在粒度上,很难管理具体的属性和实例,比如要对属性的可见性(如成本、收益等字段对操作同一界面的有些用户可见,而对其他用户不可见)进行设置,则非常不方便,而且同样的操作,还有可能看到的内容不同(比如在客户订单录入过程中,在没有提交之前,业务员能够看到并操作自己录入的单据,而不能操作他人录入的单据);②在便捷性上,传统的权限控制主要采用静态指定的方式,在用户登录系统之前即需要确立用户权限,并在整个操作过程中无法变更。但是,权限也可能出现在用户登录系统之后,在执行过程中需要变更(比如,客户订单录入过程中,责任人突然离岗或没时间处理,则需要动态变更该订单的责任人,并进行下一步工作)[13];③在灵活性上,传统的权限控制变更只能在重新配置并重启系统后生效[14],当企业信息系统不能够停机重启时,则只能等待错误发生。

因此,本文研究了一种基于权限对象的用户管理策略,提出了多维权限控制和动态权限的实现方式,并论述了其权限控制、权限生成与权限变更等内容的实现。其中,多维权限控制的客体包括实例、类的属性、类和空间,而动态权限主要通过权限对象来完成。

2 基于权限对象的用户管理策略

2.1 权限对象

权限对象指权限类的实例,表示对资源或标识的访问权限。具体到企业信息系统,表示对系统中各个模块的可视或操作权限。

对系统权限控制需求进行分析时,不可忽略权限行为的约束时机。针对此系统而言,主要将权限分为三种情况:①永久权限。当用户登录系统时,通过身份验证之后确立的权限[15],并其在整个操作过程中所具有的权限始终与用户登录系统时的权限保持一致;②临时权限。用户A进入系统后,由于出现特殊情况,不能及时对客体做出相应操作,但用户B需要进行某操作O,此时用户A可以将操作O的权限发送给用户B。这是一种特殊的权限控制方式,由于权限行为约束处于特殊时机,也称之为动态权限控制;③操作权限。用户进入系统后,对系统进行增加、删除、查询或修改操作时判断,当前用户是否具有对此功能进行操作的权限。操作权限通过权限控制码进行属性配置,因此在数据库中采用了特殊权限控制矩阵的存储方式。

2.2 权限对象生成

用户权限对象的生成有多种方式[16],可由系统管理员登录系统之后通过权限配置界面对不同用户所具有的权限进行统一配置,也可由比当前用户更高权限的用户授予。但对首次登录系统的管理员需要进行初始化设置。

2.2.1 权限对象初始化

系统初始化时,为系统预先设置超级管理员身份,考虑到系统安全性,此权限应为一次权限。该身份不可进行系统的任何操作,只能进行权限配置,且无需进行身份验证。首次进入系统后,超级管理员为自己分配一个用户并配置与管理员身份对应的权限。退出系统时,消费一个超级管理员一次权限。再次登录系统时,使用新分配的管理员身份进行登录,并完成系统中的身份验证,通过验证之后产生管理员的权限对象。

2.2.2 权限对象配置与存储

通过对权限对象的配置与存储完成整个权限对象的生成过程[17]。对用户权限的配置主要分为两种情况:①管理员完成权限对象授予的过程,包括对用户的角色信息、操作空间、保密分类、操作权限等权限对象属性的配置(见图1);②较低权限用户的权限可以由与其权限相关的较高权限用户授予。此权限可以是一个权限,也可是多个权限。如生产部长的权限可由管理员配置,当生产部长通过身份验证登录系统后,其分管的生产部员工的权限可由其进行授予。

图1 权限对象配置过程

2.3 使用权限对象进行权限控制

管理员为用户分配权限后,将用户对应的权限保存到数据库中。用户再登录系统,完成身份验证,产生相应权限对象,储存在系统内存,当用户进入系统后便一直保持此权限对象所包含的功能。

用户通过身份验证登录系统时,在系统中添加一个权限对象类PrivilegeObject,包含操作空间、角色信息、账户信息、保密分类和操作权限信息等属性。管理员为用户配置权限时分别配置用户的上述属性信息,并保存到数据库中。用户登录系统时,从数据库中读取对应的属性信息,通过身份验证后,组成该用户的PrivilegeObject类,如图2所示。

图2 权限对象使用过程

2.4 权限通信与变更

权限的通信与变更都是指在用户权限管理过程中出现的特殊情况。

2.4.1 权限通信

权限通信是系统中传递权限的过程,将权限对象在两个用户的权限实例间传送。权限配置时的权限授予与动态权限都是权限的通信过程。在权限对象中添加SendRight()方法和GetRight()方法,将权限对象中的某一属性在权限实例间完成通信过程。例如生产部员工无权对BOM中的理论原料成本进行变更或调整,但由于在某一具体生产过程中只能由了解该过程的生产部员工进行调整,因此需要向生产部长申请操作理论原料成本的权限,调用GetRight()。生产部长通过申请后,调用SendRight(),向生产部员工发送理论原料成本权限。考虑到信息系统的安全性,发送的权限应为一次权限,当下次其他生产部员工登录系统时,不具备此权限,需要再次申请。这一设置可以更加安全有效地调整权限通信过程。

2.4.2 权限变更

权限变更指对用户配置权限之后,用户使用此权限时,发现此权限对象设置存在问题,需要对已配置的权限对象进行修改与调整。传统的信息系统在对用户权限进行变更时,需要从权限主体、客体、行为分别进行调整[18]。基于权限对象的用户管理策略对权限进行变更时,授予权限的用户通过登录系统,可在权限配置界面对用户权限进行修改和重新配置。当被修改的用户再次登录系统时,可生成新的权限对象,完成权限变更过程。

3 基于权限对象的用户管理策略应用

将基于权限对象的用户管理策略应用到企业信息系统中,首先应明确企业信息系统包含的权限主体、权限客体以及权限行为[19],确定系统中客体的3个维度包含的内容集合;其次,进行权限的配置与使用,实现将权限对象模式应用到用户的管理中。

对特定企业的信息系统而言,由不同的类、属性、对象集合构成不同权限客体。三维权限客体有效解决了当信息系统中对象多元化时二维权限客体有限的表示方式。以制造型企业为例,在完成信息系统需求分析之后,根据不同功能,设计了较为完善的数据库体系,每个表表示一个类,如货品基础资料、制程规划明细等。类中包含满足此类的所有字段信息。以货品基础资料表为例,每个字段信息可映射为权限客体中的属性。企业所包含的子公司a和子公司b,信息系统所具有的保密分类1和保密分类2所对应的信息系统中的一条记录可视为一个对象。

图3为不同用户登录信息系统所配置的权限图。对于此公司而言,保密分类主要针对是否对货品基础资料具有可视或可操作性,其中保密分类2表示对货品基础资料有可视或可操作权限,保密分类1不具有可视权限。

以总公司总经理为例,此用户在信息系统中具有较高权限。对总公司特有部分以及子公司所包含的类、属性都具有相应权限,设为2级保密分类。当总公司总经理权限包含子公司权限时,只能采用三维权限客体方式进行权限控制。

当完成对权限对象中权限客体的设置后,进行权限的生成和使用过程。图4为用户登录系统使用权限对象的用例图。如图所示,当参与者“用户”启动“登录”用例时,需要同时启动“验证”用例;当用户通过身份验证时,启动“产生权限对象”用例;当已登录系统的用户身份为管理员时,可通过启动“配置权限”用例,对用户权限进行配置,部分登录系统的具有较高权限的用户也可启动此用例;之后将配置好的用户权限通过启动“存储权限”用例存储到数据库中,使被设置权限的用户在登录系统时可以产生权限对象。

以上过程主要涉及用来存放权限对象的类,在信息系统中添加GlobalUser类,其中主要包含用户的角色信息、操作空间、可操作信息和保密分类等对象属性。GlobalUser类在用户登录系统通过验证时产生。

用户登录系统时通过LoginFrame类中的方法loginOrNot进行验证。

AccountInfoBean acc=accountInfoLogic.loginOrNot(username, password)

其中,username为用户名,password为密码,acc为用户的账户信息类。当身份通过验证,acc返回值不为空,并将当前用户的账户信息通过GlobalUser类中的setAccount()进行设置。通过查询权限存储时存储的权限信息,确定登录用户的操作空间和保密角色等信息,调用setAllSpace()和setSecrecy(),在GlobalUser中进行设置。登录时创建一个Session变量,封装登录的会话信息,在每次登录时创建该对象,退出时删除该对象。

图3 不同用户登录信息系统权限配置

图4 用户使用权限对象用例

4 结语

当企业的业务类型由规模生产向定制化生产转变时,对用户管理策略提出了更高的要求。然而,传统的用户管理策略对客体的管理粒度较粗,动态性能不佳,很难满足企业转型升级的需要[20]。本文提出了基于权限对象的用户管理策略,相比于传统用户管理策略,有如下特点:①提出了多维客体的理念,在系统权限客体复杂的情况下,能通过将客体分成三个维度,在多个侧面上管理和控制权限;②通过权限对象对系统权限进行配置和管理,提高了权限配置的稳定性、灵活性和安全性。权限对象的提出,可将用户的各个权限具体到对象中的每个属性,并通过权限对象间相互发送权限来实现动态权限;③将系统权限对象化可以简化权限的变更过程,通过权限配置,修改需要变更的权限,在用户再次登录系统时,重新生成权限对象,即可完成变更过程。

综上所述,与传统用户管理策略相比,基于权限对象的用户管理策略把每个权限作为权限对象中的属性,降低了权限间的耦合度,简化了用户权限管理的实现过程,并且能更灵活、全面地管理系统涉及的用户权限。

[1] 罗文. 工业新常态呈现四大特征[N].中国电子报,2014-12-30(3).

[2] 黄群慧.中国工业发展报告2014[R].中国社会科学院工业经济研究所,2014.

[3] 黄群慧,贺俊. “第三次工业革命”与中国经济发展战略调整——技术经济范式转变的视角[J]. 中国工业经济,2013(1):5-18.

[4] 王建正,王思远,王莹,等. 定制规模化——大规模定制研究新视角[J]. 现代制造工程,2014(5):136-140,117.

[5] 贺德富,苏喜生,丁文. 信息系统中基于角色的权限控制模型研究与应用[J]. 计算机应用与软件,2008(12):284-285.

[6] 唐成华,陈新度,陈新. 管理信息系统中多用户权限管理的研究及实现[J]. 计算机应用研究,2004(3):217-219.

[7] 李洲洋,田锡天,贾晓亮,等. 面向飞机制造过程的统一用户管理体系及策略[J]. 计算机工程与应用,2008(14):212-215,245.

[8] 罗钧,赵传智,汪飞. 基于RBAC模型的权限高效管理方法[J]. 计算机研究与发展,2016(5):1000-1008.

[9] 吴娴,钱培德. 一个多策略安全模型的研究与设计[J]. 计算机科学,2008(6):71-73.

[10] 范艳芳,蔡英,耿秀华. 具有时空约束的强制访问控制模型[J]. 北京邮电大学学报,2012(5):111-114.

[11] 莫乐群,姚国祥. 基于J2EE的B/S系统的权限控制设计[J]. 计算机工程,2005(10):84-86.

[12] 陈金玉,刘东荣,李卓伟,等. 基于角色控制的教学权限访问系统的设计与实现[J]. 重庆大学学报:自然科学版,2005(12):59-61.

[13] 孙宏波,颜波,黄必清,等.面向复杂信息系统的用户管理策略[J]. 计算机集成制造系统,2004(S1):105-113.

[14] 张琳,战学刚. 管理信息系统中用户权限管理的实现方法[J]. 沈阳师范大学学报:自然科学版,2005(3):267-270.

[15] 吴波,王晶. 基于基本RBAC模型的权限管理框架的设计与实现[J]. 计算机系统应用,2011(4):50-54.

[16] 汤文亮,李科. 基于RBAC模型的权限管理改进研究与实现[J]. 计算机工程与设计,2015(5):1181-1186,1232.

[17] 吴春雷,张学辉. 一种基于RBAC扩展模型的Web系统权限控制方法[J]. 科学技术与工程,2007(11):2672-2676.

[18] 祖峰,熊忠阳,冯永. 信息系统权限管理新方法及实现[J]. 重庆大学学报:自然科学版,2003(11):91-94.

[19] 易高翔,杨春生,马良俊,等. B/S模式下基于角色的权限管理系统设计与实现[J]. 中国安全生产科学技术,2008(3):110-113.

[20] 范小康,何连跃,王晓川,等. 一种基于RBAC模型的角色管理方法[J]. 计算机研究与发展,2012(S1):211-215.

(责任编辑:黄 健)

山东省高等学校科技计划项目(J15LN09)

刘璐(1992-),女,山东莱阳人,烟台大学计算机与控制工程学院硕士研究生,研究方向为企业信息化;孙立民(1960-),男,山东莱西人,博士,烟台大学计算机与控制工程学院教授,研究方向为机器学习、模式识别;孙宏波(1977-),男,辽宁沈阳人,博士,烟台大学计算机与控制工程学院讲师,研究方向为企业信息化、电子商务。本文通讯作者为孙宏波。

10.11907/rjdk.162778

TP301

A

1672-7800(2017)003-0007-04

猜你喜欢

客体管理策略信息系统
企业信息系统安全防护
符号学视域下知识产权客体的同一性及其类型化解释
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
基于SG-I6000的信息系统运检自动化诊断实践
旧客体抑制和新客体捕获视角下预览效应的机制*
关税课税客体归属论
“活”源于怦然心动——写生对客体借用中的情感因素