第3期 唐成华等:管理信息系统中多用户权限管理的研究及实现 ・217・
管理信息系统中多用户权限管理的研究及实现*
唐成华,陈新度,陈 新
(广东工业大学机电工程学院CIMS 重点实验室,广东广州510090)
摘 要:通过分析传统RBAC 技术存在的局限,结合现代企业管理的新特点,就管理信息系统中多用户权限控制技术进行了探讨,提出了一种新的基于用户功能项的权限管理机制,并给出了实现方法。关键词:信息系统;基于角色的访问控制(RBAC );用户;权限
中图法分类号:TP311 文献标识码:A 文章编号:1001-3695(2004)03-0217-03
Research and ImpIementation of MuIti-users Access ControI in
Management Information System
TANG Cheng-hua ,CHEN Xin-du ,CHEN Xin
(State Key Lab. of CIMS ,College of Electromechanical Engineering ,Guangzhou Polytechnical Uniuersity ,Guangzhou Guangdong 510090,China )
Abstract :By anaIyzing the technoIogy Iimit existing in the traditionaI RBAC and taking the new characters of the modern en-we discuss the access controI technoIogy of the muIti-users information system ,present terprise management into consideration ,
a new access controI mechanism based on the user ’s function items ,and give the methods of reaIizing this mechanism. Key words :Information System ;RBAC (RoIe-Based Access ControI );Users ;User Rights
随着管理信息系统向着多应用和多用户的方向不断发展,整个系统的数据安全越来越受到人们的关注,对于系统用户权限的管理也就显得越来越重要。对于任何一个管理信息系统,健壮有效的用户权限管理机制是合法使用信息,防止非法获得或破坏信息的基本保障。
但是对于一个企业来说,随着它本身的发展,剧增的信息量,部门结构的复杂性以及人事的变动,使得对信息系统用户的权限管理有了新的特征。笔者通过分析传统基于角色的访问控制(RBAC )技术存在的局限性,结合现代企业的管理特点,提出了一种基于用户功能项的多用户权限管理机制,并给出了具体的实现方法。
繁,职工的权责分工也越来越明确和细化,即使是属于同一个岗位的人员,其职责权限亦很可能不同。此时,如果仍是沿用以前那种按角色来分配权限,会显得捉襟见肘。最大情况下是有N 个员工,实际上需要N 个角色,接着又要为这N 个角色分配一系列的功能权限集。这样,系统变得受人为因素影响较大,而且为角色分配权限和为用户分配角色变成了重复劳动,整个管理变得困难,灵活性也大大降低。
2! 现代企业用户权限的多样性
在开发管理信息系统中的用户权限管理模块之前,为了避免系统真正运行时要反复更新引起混乱,必须要对整个企业的用户职责需求作全面分析。若采用RBAC 的角色控制方式来管理权限,应该考虑到当前所有的角色甚至将来可能会有的角色情况。这势必会大大增加需求分析工作量。另外,同属于一个角色的用户,其权限亦多不同。随着企业人事的变动,用户的权限也同时发生改变,也就是要重新赋予新的角色,对于软件开发人员来说,就陷入了无休止的系统完善工作中去。最后,一个系统中定义的角色是特定的,其角色分类不能直接套用到其他管理系统中去,也就是缺乏通用性。
1! 传统RBAC 技术的局限
[1]1996年提出的基于角色的访问控制技术(RBAC )发展
到现在已比较成熟,其核心思想是将访问权限转换为角色的权限,通过给用户分配不同的角色,达到赋予用户不同权限的目的。角色相当于一个权限集,是根据企业内部不同的岗位职责而设置的。根据用户在企业中的具体职责而设定他们的角色。用户与角色是多对多的关系,角色也可以增加和删除。这样,通过应用RBAC 技术,将用户权限的管理变成一种类似于企业日常的组织管理。这种技术在应用初期的确受到广大开发人
[2,3]
员的认同。直接将企业的组织结构映射到信息系统中,使
3! 基于用户功能项的权限控制策略
通过以上分析,我们从用户功能项出发,用户所需要的权限直接与功能相联系,也就是系统中各个具体的操作权限,通过功能项的分析和设定,来直接控制用户的权限规则。用户与功能项同样是多对多的关系,不同的功能项及其组合,形成不同的权限分类,也就是操作不同具体数据对象的能力。本策略完全“摒弃”角色的概念,而从用户的系统功能出发,即可很好地控制权限。在授权过程中,只需为用户分配不同的功能项,
对用户的管理很直观,在很大程度上简化了权限的管理工作。
但是随着现代企业的发展,人员调整和机构变动越来越频收稿日期:2003-03-14;修返日期:2003-04-13基金项目:广东省科技攻关项目(2002B10401);广东省自然科学基金团体项目(20003051)
・2l 8・
如图l
所示。
计算机应用研究
表(Menu
2004年
right )中的Meny right 字段值来决定其权限。关键
的程序代码如下:
ii
string i uname ,i right ,i code ,i menu int ii [9],ii i ,ii items ,
ien ,i booiean ib right menu im menu
im menu =this. menuid i menu =ciassname (im menu )
i uname =guo manager. is username //当前登录用户名
deciare one cursor for //声明游标seiect a. menu right ,a. menu code from menu right a ,menu tab b where a. user name =:i uname and a. menu code =b. menu code 图l 用户权限功能模型图
在笔者开发的管理信息系统中,系统功能的使用权限控制到菜单级。一般管理信息系统软件主程序都是采用多文档窗体(MDI )形式,用户的使用权限表现为是否具有对某个菜单项的使用权。而对菜单项的控制不受菜单项本身意义的限制,系统能自动对每个菜单项列出,供管理员选择授权。在为广东某装饰材料公司开发的信息系统中,笔者应用到的就是这种模型和思想,利用Powerbuiider 和Oracie 数据库实现了上述整个过程。用户权限管理单独作为一个模块,虽然开发首期,程序员工作量较大,但应用之后,对于系统权限管理员来说,变得极为方便和灵活。而且,一旦该模块建立,可以通用于其他的管理信息系统,移植方便。
4! 系统数据表结构及功能实现
系统中与用户和权限相关的有以下三个表:(l )用户信息表结构如表l 所示。
表l 用户信息表:User
tab
字段名字段类型
说明
特征User name varchar2(20)用户名主键
User desc varchar2(40)用户描述User
pass
varchar2(20)用户口令
经加密后保存
(2)菜单信息表如表2所示。
表2 菜单信息表:Menu
tab
字段名字段类型
说明
特征
Menu name varchar2(20)窗口菜单名Menu code varchar2(20)菜单项代码主键
Menu desc varchar2(40)菜单项名Menu
parent
varchar2(20)上级菜单代码
(3)权限信息表如表3所示。
表3 权限信息表:Menu
right
字段名字段类型
说明
特征User name varchar2(20)用户名主键Menu code varchar2(20)菜单项代码主键Menu
right
char (l )权限是否有
0/l
按照以上的数据结构,用户表、菜单表和权限表分开保存,它们之间用主键相联系。其中Menu
tab 表中保存了系统所
有菜单项的信息,每一级菜单用二位数字表示,在Menu
code
字段中指明。如“0l0l ”表示第二级菜单中的第一个菜单项。由于定义其字段长为20,故系统中的菜单级别最高为l0级。为了避免非法用户能绕过应用逻辑进入数据库,用户的口令信息是经过加密后保存的。加密的过程在应用程序中实现,应用程序本身起到一种防火墙的功能。所有用户只能通过应用系统这一“门户”才能正常访问数据库,从而大大加强了系统的安全性。4. 1 程序运行
在客户端启动程序[4]
时,通过用户登录窗口获取用户名
和口令,口令经加密转换后与用户信息表(User tab )中的记
录进行比较,取得用户的合法身份,再通过读取用户菜单权限
and b. menu name =:i menu ;open one ;//打开游标do whiie sgica. sgicode =0fetch one into :i right ,:i code ;ib right =(i right ='l' )//是否有权i code =mid (i code ,3)//取得从第二级开始的菜单项代码ii ien =ien (i code )for ii i =l to ii ien ii [ii i ]=integer (mid (i code ,2*ii i-l ,2))next
for ii i =ii ien /2+l to 9ii [ii i ]=0next
if ii ien >=2then ii items =upperbound (im menu. item )if ii [l ]>ii items or ii [l ]=0then continue end if
if ii ien >=4then ii items =upperbound (im menu. item [ii [l ]. ]item )if ii [2]>ii items or ii [2]=0then continue end if
if ii ien >=6then …//因篇幅所限,其中略end if end if end if
choose case ien (i code )//指向菜单项case 2
im menu. item [ii [l ]]. enabied =ib right case 4
im menu. item [ii [l ]]. item [ii [2]]. enabl ed =ib right //决定菜单项能否操作case 6
…//因篇幅所限,其中略end choose ioop
ciose one ;//关闭游标
4. 2 新加用户
新加用户在权限管理模块中有专门的窗口。一方面添加新用户信息到User tab 表中,其设定的口令是经加密转换后
才保存到表中;另一方面,添加新的用户名和所有的菜单项的
信息到Menu
right 表中。用户新加入后,在还没有赋予权限
前,是没有任何实际的系统操作权限的,即Menu right 字段初
始值为“0”。其关键的程序代码如下:
string is name ,is menucode
deciare get menucode cursor for //声明游标seiect menu code from menu tab ;open get menucode ;fetch get menucode into :is menucode ;//得到菜单条代码do whiie SOLCA. SOLcode =0
第3期 唐成华等:管理信息系统中多用户权限管理的研究及实现
where menu
code like :as
menu and user
・219・
user ;
insert into menu right (user name ,
menu code ,menu right )//更新表values (:ls name ,:ls menucode ,'0' );fetch get menucode into :ls menucode ;loop
close get menucode ;
name =:as
在取消权限事件中,当得到当前所选用户ls user 和所选
菜单项l menu 后,调用函数wf delete right (),该函数有两个字符串型参数as user 和as menu 。关键代码如下:
update menu right set menu right ='0' where menu code like :as menu and user
name =:as
user ;
4. 3 删除用户
删除用户是在经过确认后,彻底删除User right 表中该用户的信息。关键代码如下:
string ls ls
user
l ;//在树型窗口中得到要删除用户的句柄
l. data )
name =:ls
user ;
name =:ls
user ;//删除用户记录
treeviewitem ltv delete menu delete user
图2所示为最高系统管理员进行权限管理时的窗口界面。
tab 和Menu
user =string (ltv
right where user tab where user
4. 4 用户权限的分配实现
程序中利用Powerbuilder 中的树型窗口结构来实现对用户的权限管理(包括授予权限和取消权限),直观方便。最高系统管理员可在专门的权限管理模块中对用户集中管理。通常的管理信息系统都包含按企业部门或组织分类的多个相对独立的子系统,因此对于不同的子系统又可考虑授予子系统管理员来进行该子系统的用户权限管理,从而实现分级管理。
授权窗口由两个树型子窗口组成,左边是用户名窗口tv 右边是菜单列表窗口tv user ,
程序中的关键代码如下:
先定义实例变量
long il userhandle ,il menuhandle
由在窗口中用鼠标所选项的标签得到//这两个变量的值,
授予权限事件string ls user ,l menu treeviewitem ltv l tv user. getitem (il userhandle ,ltv l )ls user =string (ltv l. data )//得到当前所选用户的代码tv menu. getitem (il menuhandle ,ltv l )!
l menu =string (ltv l. data )//得到当前所选菜单项的代码wf add right (ls user ,l menu )//调用函数l menu =left (l menu ,len (l menu )-2)do while len (l menu )>=2wf add right (ls user ,l menu )l menu =left (l menu ,len (l menu )-2)loop
图2 权限管理窗口
5! 结束语
通过对传统RbAC 的角色权限控制技术缺陷的分析,以及现代企业组织结构的管理特点,在实例中应用新的基于用户功能项的权限管理方法,取得了很好的效果。实践表明该策略适合现代企业的管理特点,整个系统方便、可靠、灵活并有效,而且具有通用性,移植好,提高了系统开发效率。参考文献:
[1]李孟珂,余祥宣. 基于角色的访问控制技术及应用[J ]. 计算机应
用研究,2000,17(10):44-47.
[2]林磊,骆建彬,等. 管理信息系统中基于角色的权限控制[J ]. 计
算机应用研究,2002,19(6):82-84.
[3]姜志红,须德. 基于Web 的信息系统的用户权限设置策略[J ].
北京交通大学学报,2001,25(2):33-36.
[4]张长富,李匀. Powerbuilder 8参考手册[M ]. 北京:北京希望电子
出版社,2002.
menu 。
作者简介:
唐成华(1974-),湖北黄冈人,男,硕士研究生,主要研究方向为CIMS 关键技术及网络化制造技术;陈新度,男,副教授,博士生导师,主要研陈新,男,教授,硕士生导师,主要究领域为CIMS 及网络化制造技术;研究领域为智能设计与制造。
其中函数wf add right ()有两个字符串型的参数as
user 和as menu 。关键代码如下:
update menu (上接第198页)
right set menu
right ='1'
[2]单玉峰,柴乔林. 组播环境中层式前向纠错与TCP 友好拥塞控制
策略研究[J ]. 计算机学报,2002,(5):1-6.
[3]张琳,林祥兴,袁玉兰,等. 网络管理与应用第1版[M ]. 北京:人
民邮电出版社,2000.
[4][美]Mark Wilkins. Windows 系统策略第1版[M ]. 天宏工作室.
北京:清华大学出版社,2001. 34-35,96-97.
[5]戴刚,罗宇. 基于DNS 的负载平衡技术的设计与实现[J ]. 计算机
2002,28(4):78-79. 工程,
[6]杨波,朱秋萍. Web 安全技术综述[J ]. 计算机应用研究,2002,19
(10):1-10.
5! 结束语
在计算机实验室的网络管理中,充分利用基于Windows
[4]
NT 局域网登录脚本的系统策略,不但可以提高网络管理的
工作效率和质量,而且能够使网络管理水平达到一个较高的层
[5]次。但值得注意和探讨的是,登录脚本技术的实现,不但需
要人们对Windows NT
[1,3]
局域网系统有一个比较系统深入的
了解,而且需要人们不断地进行实验探索研究,逐步地完善它。
[6]特别是文件系统的安全性,必须正确配置给用户组。
作者简介:
蔡民强(1958-),男,工程师,本科,多年主持学校的省高校计算机等级考试的网络管理技术工作,研究方向为计算机网络技术、网络管理、数据库等。
参考文献:
[1]明寰资讯工作室. Windows NT Server 4. 0中文版[M ]. 北京:人民
邮电出版社,1998.
管理信息系统中多用户权限管理的研究及实现
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
唐成华, 陈新度, 陈新
广东工业大学,机电工程学院CIMS重点实验室,广东,广州,510090计算机应用研究
APPLICATION RESEARCH OF COMPUTERS2004,21(3)28次
1. 李孟珂;余祥宣 基于角色的访问控制技术及应用[期刊论文]-计算机应用研究 2000(10)2. 林磊;骆建彬 管理信息系统中基于角色的权限控制[期刊论文]-计算机应用研究 2002(06)
3. 姜志红;须德 基于Web的信息系统的用户权限设置策略[期刊论文]-北京交通大学学报(自然科学版) 2001(02)4. 张长富;李匀 PowerBuilder 8参考手册 2002
1. 周逸文. 姚树春. Zhou Yiwen. Yao Shuchun 管理信息系统模式的比较与分析[期刊论文]-电脑知识与技术(技术论坛)2005(6)
2. 罗松涛 基于安全策略多用户操作系统的CAD/CAM机房管理模式研究与实践[期刊论文]-中国科技信息2010(19)3. 刘天湖. 邹湘军. 陈新. 陈新度. LIU Tian-hu. ZOU Xiang-jun. CHEN Xin. CHEN Xin-du 多群任务配置优化算法研究[期刊论文]-机械设计2008,25(10)
4. 万荣泽 基于ASP.NET管理信息系统性能优化的研究与实践[期刊论文]-广西轻工业2008,24(12)5. 刘文斐 基于三层C/S模式的电子电路辅助实验系统[学位论文]2007
6. 赵艳红. ZHAO Yan-hong 基于角色权限的认证管理系统的设计与实现[期刊论文]-信息技术2009(11)
7. 刘强. 陈新度. LIU Qiang. CHEN Xin-du 面向产业聚集区的ASP应用系统开发模式[期刊论文]-计算机工程2007,33(23)8. 刘天湖. 陈新度. 陈新. 曾伟燕. Tianhu Liu. Xindu Chen. Xin Chen. Weiyan Zeng 基于ASP的协同设计研究[期刊论文]-中国机械工程2005,16(17)
9. 王勇. 陈新. 陈新度. WANG Yong. CHEN Xin. Chen Xindu 基于多智能体的个性化信息系统研究[期刊论文]-计算机工程2005,31(18)
10. 宋擒豹. 沈钧毅. Song Qinbao. Shen Junyi 管理信息系统通用查询工具的设计与实现[期刊论文]-计算机工程与应用2000,36(5)
1. 杨育标. 徐炳文 基于DBMS验证的用户权限管理方法[期刊论文]-信息技术 2008(9)2. 王延彬. 许林英. 杨海琛 OA系统中基于角色的用户权限管理[期刊论文]-微处理机 2008(4)3. 傅元宏. 牛德雄. 李燕 基于角色的用户权限系统设计[期刊论文]-计算机与数字工程 2007(9)4. 陈伟 高校实验室管理系统开发的关键技术[期刊论文]-怀化学院学报 2007(8)
5. 姜娟. 廖小平. 苗剑 基于模态逻辑的PDM权限管理方法研究[期刊论文]-新技术新工艺 2005(12)6. 岐世峰 信息系统安全的一种解决方案[期刊论文]-计算机光盘软件与应用 2011(5)7. 岐世峰 MIS系统中权限管理的研究与实现[期刊论文]-电脑开发与应用 2008(12)
8. 王晶. 马斌荣 基于网络的多用户管理信息系统中访问控制模型的研究[期刊论文]-北京生物医学工程 2007(2)9. 阎冰洁. 汪小兰. 熊前兴 基于B-B-C电子商务模式的用户权限控制[期刊论文]-计算机应用研究 2006(9)10. 刘金晓. 马素霞. 齐林海 Web应用系统中权限控制的研究与实现[期刊论文]-计算机工程与设计 2008(10)11. 王利敏 论新形势下高校学生户口管理系统的构建[期刊论文]-科教文汇 2008(35)
12. 陆锡聪 基于Web的学位论文管理系统的设计与实现[期刊论文]-电脑知识与技术(学术交流) 2005(1)
13. 安晓飞. 王占军. 刘冰 基于角色的访问控制技术在招生系统中的应用[期刊论文]-沈阳师范大学学报(自然科学版) 2009(4)
14. CHEN Wei 基于校园网的实验室管理系统的研究与设计[期刊论文]-现代计算机(专业版) 2008(7)15. 企业信息系统中的权限管理研究[期刊论文]-计算机技术与发展 2006(8)16. 陈珺 基于多角色访问机制的权限系统[学位论文]硕士 2004
17. 柯丹. 高涛. 张文华 谈高校化学实验室药品库房的网络化管理[期刊论文]-咸宁学院学报 2009(6)18. 马永杰. 杨志民 面向用户的可复用系统菜单权限的设置[期刊论文]-计算机应用研究 2008(4)
19. 张杰. 马莉莉. 罗继东. 杨艳丽 应用软件用户权限设定策略的研究[期刊论文]-内蒙古农业大学学报(自然科学版)2008(2)
20. 汤松萍 基于企业网络信息化平台建设及其权限机制的建立[期刊论文]-计算机安全 2012(2)21. 丁革建 基于PDM的高校学生管理集成信息系统设计与开发[学位论文]硕士 200522. 芮国荣 权限约束支持的访问控制在XML资料库中的应用研究[学位论文]硕士 200523. 王凤珍 机房智能监控管理系统的研究与实现[学位论文]硕士 200624. 阎冰洁 基于B-B-C电子商务模式的研究与应用[学位论文]硕士 200625. 付仕郧 工程图集中打印管理系统的设计与实现[学位论文]硕士 2005
26. 熊曾刚 基于面向对象的MIS系统三种实用软件设计模式的研究及实现[学位论文]硕士 200527. 许华英 东风紧固件综合管理信息系统[学位论文]硕士 200528. 王玉贵 医院全成本核算系统的设计与实现[学位论文]硕士 2005
本文链接:http://d.g.wanfangdata.com.cn/Periodical_jsjyyyj200403078.aspx
第3期 唐成华等:管理信息系统中多用户权限管理的研究及实现 ・217・
管理信息系统中多用户权限管理的研究及实现*
唐成华,陈新度,陈 新
(广东工业大学机电工程学院CIMS 重点实验室,广东广州510090)
摘 要:通过分析传统RBAC 技术存在的局限,结合现代企业管理的新特点,就管理信息系统中多用户权限控制技术进行了探讨,提出了一种新的基于用户功能项的权限管理机制,并给出了实现方法。关键词:信息系统;基于角色的访问控制(RBAC );用户;权限
中图法分类号:TP311 文献标识码:A 文章编号:1001-3695(2004)03-0217-03
Research and ImpIementation of MuIti-users Access ControI in
Management Information System
TANG Cheng-hua ,CHEN Xin-du ,CHEN Xin
(State Key Lab. of CIMS ,College of Electromechanical Engineering ,Guangzhou Polytechnical Uniuersity ,Guangzhou Guangdong 510090,China )
Abstract :By anaIyzing the technoIogy Iimit existing in the traditionaI RBAC and taking the new characters of the modern en-we discuss the access controI technoIogy of the muIti-users information system ,present terprise management into consideration ,
a new access controI mechanism based on the user ’s function items ,and give the methods of reaIizing this mechanism. Key words :Information System ;RBAC (RoIe-Based Access ControI );Users ;User Rights
随着管理信息系统向着多应用和多用户的方向不断发展,整个系统的数据安全越来越受到人们的关注,对于系统用户权限的管理也就显得越来越重要。对于任何一个管理信息系统,健壮有效的用户权限管理机制是合法使用信息,防止非法获得或破坏信息的基本保障。
但是对于一个企业来说,随着它本身的发展,剧增的信息量,部门结构的复杂性以及人事的变动,使得对信息系统用户的权限管理有了新的特征。笔者通过分析传统基于角色的访问控制(RBAC )技术存在的局限性,结合现代企业的管理特点,提出了一种基于用户功能项的多用户权限管理机制,并给出了具体的实现方法。
繁,职工的权责分工也越来越明确和细化,即使是属于同一个岗位的人员,其职责权限亦很可能不同。此时,如果仍是沿用以前那种按角色来分配权限,会显得捉襟见肘。最大情况下是有N 个员工,实际上需要N 个角色,接着又要为这N 个角色分配一系列的功能权限集。这样,系统变得受人为因素影响较大,而且为角色分配权限和为用户分配角色变成了重复劳动,整个管理变得困难,灵活性也大大降低。
2! 现代企业用户权限的多样性
在开发管理信息系统中的用户权限管理模块之前,为了避免系统真正运行时要反复更新引起混乱,必须要对整个企业的用户职责需求作全面分析。若采用RBAC 的角色控制方式来管理权限,应该考虑到当前所有的角色甚至将来可能会有的角色情况。这势必会大大增加需求分析工作量。另外,同属于一个角色的用户,其权限亦多不同。随着企业人事的变动,用户的权限也同时发生改变,也就是要重新赋予新的角色,对于软件开发人员来说,就陷入了无休止的系统完善工作中去。最后,一个系统中定义的角色是特定的,其角色分类不能直接套用到其他管理系统中去,也就是缺乏通用性。
1! 传统RBAC 技术的局限
[1]1996年提出的基于角色的访问控制技术(RBAC )发展
到现在已比较成熟,其核心思想是将访问权限转换为角色的权限,通过给用户分配不同的角色,达到赋予用户不同权限的目的。角色相当于一个权限集,是根据企业内部不同的岗位职责而设置的。根据用户在企业中的具体职责而设定他们的角色。用户与角色是多对多的关系,角色也可以增加和删除。这样,通过应用RBAC 技术,将用户权限的管理变成一种类似于企业日常的组织管理。这种技术在应用初期的确受到广大开发人
[2,3]
员的认同。直接将企业的组织结构映射到信息系统中,使
3! 基于用户功能项的权限控制策略
通过以上分析,我们从用户功能项出发,用户所需要的权限直接与功能相联系,也就是系统中各个具体的操作权限,通过功能项的分析和设定,来直接控制用户的权限规则。用户与功能项同样是多对多的关系,不同的功能项及其组合,形成不同的权限分类,也就是操作不同具体数据对象的能力。本策略完全“摒弃”角色的概念,而从用户的系统功能出发,即可很好地控制权限。在授权过程中,只需为用户分配不同的功能项,
对用户的管理很直观,在很大程度上简化了权限的管理工作。
但是随着现代企业的发展,人员调整和机构变动越来越频收稿日期:2003-03-14;修返日期:2003-04-13基金项目:广东省科技攻关项目(2002B10401);广东省自然科学基金团体项目(20003051)
・2l 8・
如图l
所示。
计算机应用研究
表(Menu
2004年
right )中的Meny right 字段值来决定其权限。关键
的程序代码如下:
ii
string i uname ,i right ,i code ,i menu int ii [9],ii i ,ii items ,
ien ,i booiean ib right menu im menu
im menu =this. menuid i menu =ciassname (im menu )
i uname =guo manager. is username //当前登录用户名
deciare one cursor for //声明游标seiect a. menu right ,a. menu code from menu right a ,menu tab b where a. user name =:i uname and a. menu code =b. menu code 图l 用户权限功能模型图
在笔者开发的管理信息系统中,系统功能的使用权限控制到菜单级。一般管理信息系统软件主程序都是采用多文档窗体(MDI )形式,用户的使用权限表现为是否具有对某个菜单项的使用权。而对菜单项的控制不受菜单项本身意义的限制,系统能自动对每个菜单项列出,供管理员选择授权。在为广东某装饰材料公司开发的信息系统中,笔者应用到的就是这种模型和思想,利用Powerbuiider 和Oracie 数据库实现了上述整个过程。用户权限管理单独作为一个模块,虽然开发首期,程序员工作量较大,但应用之后,对于系统权限管理员来说,变得极为方便和灵活。而且,一旦该模块建立,可以通用于其他的管理信息系统,移植方便。
4! 系统数据表结构及功能实现
系统中与用户和权限相关的有以下三个表:(l )用户信息表结构如表l 所示。
表l 用户信息表:User
tab
字段名字段类型
说明
特征User name varchar2(20)用户名主键
User desc varchar2(40)用户描述User
pass
varchar2(20)用户口令
经加密后保存
(2)菜单信息表如表2所示。
表2 菜单信息表:Menu
tab
字段名字段类型
说明
特征
Menu name varchar2(20)窗口菜单名Menu code varchar2(20)菜单项代码主键
Menu desc varchar2(40)菜单项名Menu
parent
varchar2(20)上级菜单代码
(3)权限信息表如表3所示。
表3 权限信息表:Menu
right
字段名字段类型
说明
特征User name varchar2(20)用户名主键Menu code varchar2(20)菜单项代码主键Menu
right
char (l )权限是否有
0/l
按照以上的数据结构,用户表、菜单表和权限表分开保存,它们之间用主键相联系。其中Menu
tab 表中保存了系统所
有菜单项的信息,每一级菜单用二位数字表示,在Menu
code
字段中指明。如“0l0l ”表示第二级菜单中的第一个菜单项。由于定义其字段长为20,故系统中的菜单级别最高为l0级。为了避免非法用户能绕过应用逻辑进入数据库,用户的口令信息是经过加密后保存的。加密的过程在应用程序中实现,应用程序本身起到一种防火墙的功能。所有用户只能通过应用系统这一“门户”才能正常访问数据库,从而大大加强了系统的安全性。4. 1 程序运行
在客户端启动程序[4]
时,通过用户登录窗口获取用户名
和口令,口令经加密转换后与用户信息表(User tab )中的记
录进行比较,取得用户的合法身份,再通过读取用户菜单权限
and b. menu name =:i menu ;open one ;//打开游标do whiie sgica. sgicode =0fetch one into :i right ,:i code ;ib right =(i right ='l' )//是否有权i code =mid (i code ,3)//取得从第二级开始的菜单项代码ii ien =ien (i code )for ii i =l to ii ien ii [ii i ]=integer (mid (i code ,2*ii i-l ,2))next
for ii i =ii ien /2+l to 9ii [ii i ]=0next
if ii ien >=2then ii items =upperbound (im menu. item )if ii [l ]>ii items or ii [l ]=0then continue end if
if ii ien >=4then ii items =upperbound (im menu. item [ii [l ]. ]item )if ii [2]>ii items or ii [2]=0then continue end if
if ii ien >=6then …//因篇幅所限,其中略end if end if end if
choose case ien (i code )//指向菜单项case 2
im menu. item [ii [l ]]. enabied =ib right case 4
im menu. item [ii [l ]]. item [ii [2]]. enabl ed =ib right //决定菜单项能否操作case 6
…//因篇幅所限,其中略end choose ioop
ciose one ;//关闭游标
4. 2 新加用户
新加用户在权限管理模块中有专门的窗口。一方面添加新用户信息到User tab 表中,其设定的口令是经加密转换后
才保存到表中;另一方面,添加新的用户名和所有的菜单项的
信息到Menu
right 表中。用户新加入后,在还没有赋予权限
前,是没有任何实际的系统操作权限的,即Menu right 字段初
始值为“0”。其关键的程序代码如下:
string is name ,is menucode
deciare get menucode cursor for //声明游标seiect menu code from menu tab ;open get menucode ;fetch get menucode into :is menucode ;//得到菜单条代码do whiie SOLCA. SOLcode =0
第3期 唐成华等:管理信息系统中多用户权限管理的研究及实现
where menu
code like :as
menu and user
・219・
user ;
insert into menu right (user name ,
menu code ,menu right )//更新表values (:ls name ,:ls menucode ,'0' );fetch get menucode into :ls menucode ;loop
close get menucode ;
name =:as
在取消权限事件中,当得到当前所选用户ls user 和所选
菜单项l menu 后,调用函数wf delete right (),该函数有两个字符串型参数as user 和as menu 。关键代码如下:
update menu right set menu right ='0' where menu code like :as menu and user
name =:as
user ;
4. 3 删除用户
删除用户是在经过确认后,彻底删除User right 表中该用户的信息。关键代码如下:
string ls ls
user
l ;//在树型窗口中得到要删除用户的句柄
l. data )
name =:ls
user ;
name =:ls
user ;//删除用户记录
treeviewitem ltv delete menu delete user
图2所示为最高系统管理员进行权限管理时的窗口界面。
tab 和Menu
user =string (ltv
right where user tab where user
4. 4 用户权限的分配实现
程序中利用Powerbuilder 中的树型窗口结构来实现对用户的权限管理(包括授予权限和取消权限),直观方便。最高系统管理员可在专门的权限管理模块中对用户集中管理。通常的管理信息系统都包含按企业部门或组织分类的多个相对独立的子系统,因此对于不同的子系统又可考虑授予子系统管理员来进行该子系统的用户权限管理,从而实现分级管理。
授权窗口由两个树型子窗口组成,左边是用户名窗口tv 右边是菜单列表窗口tv user ,
程序中的关键代码如下:
先定义实例变量
long il userhandle ,il menuhandle
由在窗口中用鼠标所选项的标签得到//这两个变量的值,
授予权限事件string ls user ,l menu treeviewitem ltv l tv user. getitem (il userhandle ,ltv l )ls user =string (ltv l. data )//得到当前所选用户的代码tv menu. getitem (il menuhandle ,ltv l )!
l menu =string (ltv l. data )//得到当前所选菜单项的代码wf add right (ls user ,l menu )//调用函数l menu =left (l menu ,len (l menu )-2)do while len (l menu )>=2wf add right (ls user ,l menu )l menu =left (l menu ,len (l menu )-2)loop
图2 权限管理窗口
5! 结束语
通过对传统RbAC 的角色权限控制技术缺陷的分析,以及现代企业组织结构的管理特点,在实例中应用新的基于用户功能项的权限管理方法,取得了很好的效果。实践表明该策略适合现代企业的管理特点,整个系统方便、可靠、灵活并有效,而且具有通用性,移植好,提高了系统开发效率。参考文献:
[1]李孟珂,余祥宣. 基于角色的访问控制技术及应用[J ]. 计算机应
用研究,2000,17(10):44-47.
[2]林磊,骆建彬,等. 管理信息系统中基于角色的权限控制[J ]. 计
算机应用研究,2002,19(6):82-84.
[3]姜志红,须德. 基于Web 的信息系统的用户权限设置策略[J ].
北京交通大学学报,2001,25(2):33-36.
[4]张长富,李匀. Powerbuilder 8参考手册[M ]. 北京:北京希望电子
出版社,2002.
menu 。
作者简介:
唐成华(1974-),湖北黄冈人,男,硕士研究生,主要研究方向为CIMS 关键技术及网络化制造技术;陈新度,男,副教授,博士生导师,主要研陈新,男,教授,硕士生导师,主要究领域为CIMS 及网络化制造技术;研究领域为智能设计与制造。
其中函数wf add right ()有两个字符串型的参数as
user 和as menu 。关键代码如下:
update menu (上接第198页)
right set menu
right ='1'
[2]单玉峰,柴乔林. 组播环境中层式前向纠错与TCP 友好拥塞控制
策略研究[J ]. 计算机学报,2002,(5):1-6.
[3]张琳,林祥兴,袁玉兰,等. 网络管理与应用第1版[M ]. 北京:人
民邮电出版社,2000.
[4][美]Mark Wilkins. Windows 系统策略第1版[M ]. 天宏工作室.
北京:清华大学出版社,2001. 34-35,96-97.
[5]戴刚,罗宇. 基于DNS 的负载平衡技术的设计与实现[J ]. 计算机
2002,28(4):78-79. 工程,
[6]杨波,朱秋萍. Web 安全技术综述[J ]. 计算机应用研究,2002,19
(10):1-10.
5! 结束语
在计算机实验室的网络管理中,充分利用基于Windows
[4]
NT 局域网登录脚本的系统策略,不但可以提高网络管理的
工作效率和质量,而且能够使网络管理水平达到一个较高的层
[5]次。但值得注意和探讨的是,登录脚本技术的实现,不但需
要人们对Windows NT
[1,3]
局域网系统有一个比较系统深入的
了解,而且需要人们不断地进行实验探索研究,逐步地完善它。
[6]特别是文件系统的安全性,必须正确配置给用户组。
作者简介:
蔡民强(1958-),男,工程师,本科,多年主持学校的省高校计算机等级考试的网络管理技术工作,研究方向为计算机网络技术、网络管理、数据库等。
参考文献:
[1]明寰资讯工作室. Windows NT Server 4. 0中文版[M ]. 北京:人民
邮电出版社,1998.
管理信息系统中多用户权限管理的研究及实现
作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:
唐成华, 陈新度, 陈新
广东工业大学,机电工程学院CIMS重点实验室,广东,广州,510090计算机应用研究
APPLICATION RESEARCH OF COMPUTERS2004,21(3)28次
1. 李孟珂;余祥宣 基于角色的访问控制技术及应用[期刊论文]-计算机应用研究 2000(10)2. 林磊;骆建彬 管理信息系统中基于角色的权限控制[期刊论文]-计算机应用研究 2002(06)
3. 姜志红;须德 基于Web的信息系统的用户权限设置策略[期刊论文]-北京交通大学学报(自然科学版) 2001(02)4. 张长富;李匀 PowerBuilder 8参考手册 2002
1. 周逸文. 姚树春. Zhou Yiwen. Yao Shuchun 管理信息系统模式的比较与分析[期刊论文]-电脑知识与技术(技术论坛)2005(6)
2. 罗松涛 基于安全策略多用户操作系统的CAD/CAM机房管理模式研究与实践[期刊论文]-中国科技信息2010(19)3. 刘天湖. 邹湘军. 陈新. 陈新度. LIU Tian-hu. ZOU Xiang-jun. CHEN Xin. CHEN Xin-du 多群任务配置优化算法研究[期刊论文]-机械设计2008,25(10)
4. 万荣泽 基于ASP.NET管理信息系统性能优化的研究与实践[期刊论文]-广西轻工业2008,24(12)5. 刘文斐 基于三层C/S模式的电子电路辅助实验系统[学位论文]2007
6. 赵艳红. ZHAO Yan-hong 基于角色权限的认证管理系统的设计与实现[期刊论文]-信息技术2009(11)
7. 刘强. 陈新度. LIU Qiang. CHEN Xin-du 面向产业聚集区的ASP应用系统开发模式[期刊论文]-计算机工程2007,33(23)8. 刘天湖. 陈新度. 陈新. 曾伟燕. Tianhu Liu. Xindu Chen. Xin Chen. Weiyan Zeng 基于ASP的协同设计研究[期刊论文]-中国机械工程2005,16(17)
9. 王勇. 陈新. 陈新度. WANG Yong. CHEN Xin. Chen Xindu 基于多智能体的个性化信息系统研究[期刊论文]-计算机工程2005,31(18)
10. 宋擒豹. 沈钧毅. Song Qinbao. Shen Junyi 管理信息系统通用查询工具的设计与实现[期刊论文]-计算机工程与应用2000,36(5)
1. 杨育标. 徐炳文 基于DBMS验证的用户权限管理方法[期刊论文]-信息技术 2008(9)2. 王延彬. 许林英. 杨海琛 OA系统中基于角色的用户权限管理[期刊论文]-微处理机 2008(4)3. 傅元宏. 牛德雄. 李燕 基于角色的用户权限系统设计[期刊论文]-计算机与数字工程 2007(9)4. 陈伟 高校实验室管理系统开发的关键技术[期刊论文]-怀化学院学报 2007(8)
5. 姜娟. 廖小平. 苗剑 基于模态逻辑的PDM权限管理方法研究[期刊论文]-新技术新工艺 2005(12)6. 岐世峰 信息系统安全的一种解决方案[期刊论文]-计算机光盘软件与应用 2011(5)7. 岐世峰 MIS系统中权限管理的研究与实现[期刊论文]-电脑开发与应用 2008(12)
8. 王晶. 马斌荣 基于网络的多用户管理信息系统中访问控制模型的研究[期刊论文]-北京生物医学工程 2007(2)9. 阎冰洁. 汪小兰. 熊前兴 基于B-B-C电子商务模式的用户权限控制[期刊论文]-计算机应用研究 2006(9)10. 刘金晓. 马素霞. 齐林海 Web应用系统中权限控制的研究与实现[期刊论文]-计算机工程与设计 2008(10)11. 王利敏 论新形势下高校学生户口管理系统的构建[期刊论文]-科教文汇 2008(35)
12. 陆锡聪 基于Web的学位论文管理系统的设计与实现[期刊论文]-电脑知识与技术(学术交流) 2005(1)
13. 安晓飞. 王占军. 刘冰 基于角色的访问控制技术在招生系统中的应用[期刊论文]-沈阳师范大学学报(自然科学版) 2009(4)
14. CHEN Wei 基于校园网的实验室管理系统的研究与设计[期刊论文]-现代计算机(专业版) 2008(7)15. 企业信息系统中的权限管理研究[期刊论文]-计算机技术与发展 2006(8)16. 陈珺 基于多角色访问机制的权限系统[学位论文]硕士 2004
17. 柯丹. 高涛. 张文华 谈高校化学实验室药品库房的网络化管理[期刊论文]-咸宁学院学报 2009(6)18. 马永杰. 杨志民 面向用户的可复用系统菜单权限的设置[期刊论文]-计算机应用研究 2008(4)
19. 张杰. 马莉莉. 罗继东. 杨艳丽 应用软件用户权限设定策略的研究[期刊论文]-内蒙古农业大学学报(自然科学版)2008(2)
20. 汤松萍 基于企业网络信息化平台建设及其权限机制的建立[期刊论文]-计算机安全 2012(2)21. 丁革建 基于PDM的高校学生管理集成信息系统设计与开发[学位论文]硕士 200522. 芮国荣 权限约束支持的访问控制在XML资料库中的应用研究[学位论文]硕士 200523. 王凤珍 机房智能监控管理系统的研究与实现[学位论文]硕士 200624. 阎冰洁 基于B-B-C电子商务模式的研究与应用[学位论文]硕士 200625. 付仕郧 工程图集中打印管理系统的设计与实现[学位论文]硕士 2005
26. 熊曾刚 基于面向对象的MIS系统三种实用软件设计模式的研究及实现[学位论文]硕士 200527. 许华英 东风紧固件综合管理信息系统[学位论文]硕士 200528. 王玉贵 医院全成本核算系统的设计与实现[学位论文]硕士 2005
本文链接:http://d.g.wanfangdata.com.cn/Periodical_jsjyyyj200403078.aspx