医院信息系统中多用户权限控制的研究与实现.doc_第1页
医院信息系统中多用户权限控制的研究与实现.doc_第2页
医院信息系统中多用户权限控制的研究与实现.doc_第3页
医院信息系统中多用户权限控制的研究与实现.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 26 卷 第 6 期V ol . 26 N o. 6计算机工程与设计Computer Engineering and Design2005 年 6 月June 2005医院信息系统中多用户权限控制的研究与实现张维 1, 魏霞 2, 张清国 1(1. 华中师范大学 计算机科学系,湖北 武汉 430079;2. 湖北大学 数学与计算机科学学院,湖北 武汉 430062)摘 要:多用户使用权限的控制是保证信息系统安全的一个重要手段。以某高校校医院信息系统为例,详细讨论了多 用户信息系统中数据使用权限控制原理,给出了基于角色级、部门级和用户级的数据权限控制的实现过程。 关键词:医院信息系统; 权限管理; 角色中图法分类号:TP315文献标识码:A文章编号:1000-7024 (2005) 06-1589-03Research and implementation of multiuser power control in hospital information systemZHANG Wei1, WEI Xia2, ZHANG Qing-guo1(1. Department of Computer Science, Central China Normal University, Wuhan 430079, China; 2. School of Mathematics and Computer Science, Hubei University, Wuhan 430062, China)Abstract:Multiuser legal power control is an important method of information system security. Taking hospital information system as an example, the data usage control of the legal power was detailed in multiuser information system, and then the implementation of the security control model was given based on role level, department level and user level.Key words:HIS; privilege management; role理、西药房管理)、住院管理、报表打印、系统维护等。功能模块如图 1 所示。该系统数据库采用 SQL Sever 2000 ,客户端用Delphi7.0 作 为前台的开发工具。由于校医院的部门比较多,并且内部分 工比较细,每个人操作数据的权限也各不相同,因此要求系统 对各类人员进行权限管理, 不同用户赋予不同的权限,防止恶 意或非恶意的入侵。本系统所使用权限控制涉及到数据库信息系统中的 3 级 控制,即数据库的连接使用、用户登录和应用程序使用权限管 理。在应用程序中采用基于角色级、部门级和用户级的 3 级 数据权限控制。1引言随着计算机技术应用的普及和企业信息化步伐的加快,越来越多的企事业单位都建立了自己的管理信息系统。管理 信息系统一般操作数据量都很大, 大量的数据和信息存放于 它的数据库平台中, 有些甚至是关系到企业或单位切身利益 的重要信息。在开发多用户信息系统的过程中, 由于大量的 重要信息集中存放, 且某些信息为多个用户共享, 这就使得权 限控制成了开发多用户信息系统中的一个重要环节。系统的数据使用权限控制是指防止不合法地使用数据库, 以避免数据的泄漏、非法更改和破坏, 本质上就是保证数据的 合法访问, 阻止非法访问。本文以某高校校医院信息系统为 例, 来讨论如何实现多用户信息系统的数据使用权限控制的 控制问题。2系统介绍目前该校校医院仍然采用人工管理,工作人员管理效率较低,医院划价统计繁杂,库房管理比较繁重。为了实现划 价、收费的电子操作,提高医务人员的工作效率,加快病人就 诊的速度,为医院库房提供及时、准确的药品消耗情况,同时 能够统计医生的工作情况,起到规范、监督医生的行为的作 用,从而开发了该医院管理信息系统。该系统的主要功能如 下:门诊中药房划价、门诊西药房划价、库房管理(中药房管图 1系统总体模块收稿日期:2 004-06-04。作者简介:张维(1975-),男,湖北仙桃人,讲师,硕士,研究方向为人工智能和数据库; 魏霞(19 76-), 女,湖北荆州人,讲师,研究方向为 计算机网络和信息系统; 张清国 (19 76-),男,湖北孝感人,讲师,研究方向为人工智能。医院信息管理系统身 份 验 证权 限 分 配门 诊 划 价系 统 帮 助库 房 管 理报 表 打 印数 据 维 护住 院 管 理 系 统中 药 房 划 价西 药 房 划 价中 药 房西 药 房户 1 和用户 2 都是校医院药品采购员,用户 1 录入了一条药品信息,标明名称是药 1,这时如果用户 2 来修改这条记录,把3基于角色 级、部门级和 用户级的数据 权限控制原理它改为药 2,这样造成了错误,上级部门将追究用户 1 的责任,但实际上用户 1 录入的记录是完全对的,只是后来被用户 2 改掉了,这类问题的解决也要用到用户级安全性控制。所以用由于该校医院管理信息系统既要满足医院内部系统管理维护的需要,又要满足各个部门的用户的使用,因此除了确保 合法的用户才能登录到系统外,还要在应用程序中进行角色 的设定、部门的过滤以及不同用户间关键数据的隔离,以实现 数据的安全访问。以下是结合该校医院信息系统详细讨论基 于角色级、部门级和用户级的权限控制原理。3.1 角色级控制角色的概念源于实际工作中的职务。一个具体职务代表 了在日常工作中处理某些事务的权利,一个角色与权限关联可 以看作是该角色拥有一组权限的集合,与用户关联又可以看作 是若干具有相同身份的用户的集合,角色与用户和权限之间的 关系如图 2 所示,详细阐述了角色控制在信息系统中的应用。 由于该校医院管理信息系统中的用户很多,且有些用户有完全 相同的权限,如果单独给每个用户分别分配权限,势必大大增 加管理的难度。因此,根据用户分工的不同,在数据库中建立 了系统管理员、中药门诊划价员、西药门诊划价员、中药库房 管理员和西药库房管理员等不同的角色。根据分工的不同分 别赋予各个角色不同的权限集合,然后按部门将相应的角色 赋予各个用户,这样就保证了用户登录时只能访问到其具有 相应角色权限的数据信息,从而使用户的管理得以大大简化。户级安全性控制在同一角色同一部门的两个用户操作数据时,给每人操作的数据做上相应的标记,并做相应的备份日志。这样在数据库中可以对不同用户所操作过的数据加以区分,并 且不允许用户修改别人录入的数据,这样在出现问题时可以很容易地追查出是谁的责任,并恢复被误删或被破坏的数据,确保作业计划正确无误,用户级控制的原理如图 3 所示。N O 不允许修改YES 允许修改插入一条记录 1插入一条记录 2修改记录 2日志数据记录 2 是用户 3录入的吗?图 3用户级控制机制4多用户使用权限控制的实现在该医院管理信息系统的研发中,采用Delphi 7.0 作为前 台开发工具,访问后台SQL Server 2000 数据库服务器,其中运 用上述原理,整个系统的流程如图 4 所示。用 户角色权 限正确图 2角色、用户及权限关系Y ES用户输入帐3.2 部门级控制部门级安全性控制是指在一定的资源共享的前提下,一 个部门的用户不能操作另外一个同等级别部门的某些关键数 据,但允许高级别的用户操作访问低级别部门的数据。比如,001 为门诊划价的用户,admin 为系统管理员。在001 登录系统时,不允许他访问到其它科室的关键数据,也不 能访问局端的一些数据,而是应该首先把其它部门的关键数 据过滤掉,而在用户 admin 登录系统时,应允许其访问各个的 数据。即部门级控制要实现上级部门用户能访问和修改下级 部门的数据,但不允许下级部门访问和修改上级部门的数据, 也不允许同等级别部门用户之间相互操作对方的关键数据, 其原理恰似企业中的上下级层次管理结构。3.3 用户级控制在用户级安全性控制中,如果上级领导修改了下级部门 的数据,应确保其留下相应的痕迹,这样系统知道是上级部门 用户对其做了修改,由于上级部门用户的权限级别高,就不允 许下级用户再对其修改 (即使是用户自身的数据) 。另外,对 那些经上级领导审批过的数据,要有领导的签名,并做相应的 归档,保存到日志数据库中,不允许用户再对其进行修改。在医院管理过程中,还经常会出现这样的问题。如果用NO有该用户吗?查找次数用户输入口Y ESYES口令一致YES图 4 系统流程数据库的连接使用SQL Sever 2000 是一个安全的 DBMS,它要求用户在能够 访问服务器以及任何数据库前要被安全服务认证,它有两种 安全机制,外部网络认证服务和内部 SQL Server 认证服务。在 应用程序能够向 SQL Server 2000 发送数据或服务请求前,它 必须首先建立一个授权的连接。为了允许连接,SQL Server 要4.1N OYES结束调用相应的应用程序代码,进 行角色级、操作员级和用户级的安全控制,执行用户的操作 请求,结束后返回与从操作员库中相应的用户密码比较NO输入次数3?查找操作员中是否有该用户检查数据库连接是否正确NO准备角 色 分 配权 限 设 定部门用户 2部门用户 3部门用户 1记录 12 004/0 5/01 1 0: 12: 1 2用户 1记录 22 004/0 5/01 1 0: 13: 1 2用户 2求用户或应用程序正确登录。在Delphi 和SQL Server 的连接设置中,只要在相应的设置 项中填入正确的用户帐号、密码和数据库的名字, 就能取得 SQL Server 的使用权, 实现建立表、索引、存储过程、触发器等 数据库过程以及使用 SQL Server 标准 SQL 语句对数据进行查 询、修改、插入和删除等操作。否则, 将提示相应的连接错误 信息,要求用户重新连接。修改,另外修改用户口令的功能是每一个用户都可执行的。权限分配流图如图 5 所示。部门级控制的实现在一定的资源共享的前提下, 一个部门的用户不能操作 另外一个同等级别部门的某些关键数据,但允许高级别的用户 操作访问低级别部门的数据。控制机制程序中一般要实现如下过滤: IF 局端用户 THENSelect (字段 1 , 字段 2. . . 字段 n) from 表where 语句; ELSESelect (字段 1 , 字段 2. . . 字段 n) from 表where 语句and CZ_DEPART = + userdept + ; END IF其中 userdept 为用户所属的部门代码。但是对一些敏感的数据, 比如划价员日统计金额等, 部门 级控制允许部门领导或局级用户对其修改, 这4.4用户的登录在正确设置与数据库的连接后, 用户下一步将登录到相 应的信息管理系统,这时就要实现用户登录的安全性控制。在 用户进入多用户信息系统时, 应对其身份进行合法性检查, 确 保非法的用户不能进入该系统。为存放每个用户的身份信息, 需要建立相应的“操作员库”H_USER, 其中包含操作员编号、 操作员姓名、操作员密码、操作员权限、操作员部门和操作员 职称 6 个字段。操作员库结构如表 1 所示。表 1 操作员库结构4.2 样就会造成数据的不一致,分不清到底是谁的英文名CZ_QXCZ_NOCZ_PWORDCZ_NAMECZ_DEPARTCZ_ZC数据,在出问题时就难以追究到当事人的责中文名记录 1 记录 2 记录 3 记录 4 记录 6操作员权限12234操作员编号admin001002003005操作员密码123456123456123456123456123456操作员姓名系统管家 王军 李军 王明 陈小飞操作员部门系统维护 中药门诊 中药门诊 西药门诊 中药库房操作员职称系统维护 医师 医师 医师 医师任。为了分清权责, 增强工作人员的责任心,必须引入用户级的控制机制。用户级控制的实现在具体的用户级实现中,系统采用日志 归档的方法。借鉴数据库管理系统中日志的思路,采 用数据表日志归档。创建了数据录入表的日4.5在 H_USER 中每条记录对应着一个系统用户,用户登录系统时,首先输入自己的操作员编号, 系统会查看表 H_USER 中是否有这个用户,如果没有就弹出相应的提示信息,有则允 许用户输入密码。密码输入完成后, 系统检索出数据库中对应 该用户的密码与用户所输入的密码相比较,如果完全一致,则 允许用户进入系统,同时记录下用户的基本信息和登录系统 时间存入系统日志文件内,否则提示用户重新输入,如果连续 输入 3 次错误的密码, 则认为是非法用户, 系统将强行退出。志基表,在录入表的基础上增加了存档时间和存档人两个属性。当操作员对数据录入表进行操作时,一旦对表有修改,在 存盘的同时自动将表内容加上系统时间和当前操作员信息存 入数据录入日志表中,这样一方面保存了任意一次修改数据 录入的原始记录、修改时间和修改人信息,可以很好地明确责 任和保存数据;另一方面,在如果出现误删除等情况时,可以 利用数据录入表日志中的存档数据进行有价值数据的恢复, 很好地保障了数据的安全性。角色级控制的实现在整个医院管理信息系统中,角色权限的分配只能由系 统管理员进行,这些操作包括用户的增加和删除、用户权限的4.35结论通过权限管理可以避免非法用户进入信息管理系统,可 以删除或禁用某些不经常登录和有破坏数据安全倾向的用户, 可以根据需要将某些禁用的用户取消禁用等,所以在信息系 统设计中,权限设计是一个非常重要的方面。结合某高校校医院的管理信息系统的开发,详细地讨论 了在多用户信息系统中数据权限使用控制原理以及实现,使 得不同级别的管理人员和操作人员能充分、有效而且合理地 使用其应用软件系统,从而在一定程度上保证了系统的安全 性。NO正确?参考文献:1欧阳星明, 张华哲. 大型网络 MIS 中基于角色的权限管理J.计算机工程与应用, 2000,36(4):138-140.陈锦刚, 顾利珉, 谢剑英. 管理信息系统权限管理的探讨与实(下转第 1605 页)2图 5 权限分配流程由 关联 显 示用 户名及权 限范 围围操作 编 号、权限 属性用 户权 限 登录用户权限 属Y ES权限 管理性、功能 范追 加、删除 、修改 、查 询、返回操作 编 号、用户 名用 户登 录权 限归 类退出输入操作员编号及密码系统管理员进入系统如果验证通过,对于发布操作类型,首先检验用户是否为要发布的信息提供了 惟 一 表示 Key,如果 没 有 则 调用 Java-UUIDGenerator 中的方法为它生成一个,然后将要发布的完整机构信息逐一发布到 UDDI 数据库上。而对于更新操作类型 根据用户提供的信息直接对UDDI 数据库中的数据进行更新。如果没有通过验证,则拒绝执行;构造执行结果封装入相应的数据结构并返回。(3) 在 Inqury API 中的实现类执行流 程 为: 根 据 用 户 提 供 的 参 数 进 行 对 UDDI 数据库进行查询;将查询结果封 装入相应的数据结构并返回。4结论UDDI 是 Web Service 中服务发布和 发现的中心,是实现电子商务的全球化的 关键。如何能迅速发现和定位所需要的服 务,是 UDDI 实现的目标。在文中讨论了 具有一个节点的 UDDI 注册中心的设计和 实现,其中实现了最基本的功能。在多个 节点组成的注册中心或多个中心一起协 同工作时,节点之间和注册中心之间的数 据拷贝实现以及 UDDI 发布订阅实现等都 没有讨论,这是这个系统的不足之处也是 以后努力的方向。图 3 非浏览器客户端的请求处理的顺序参考文献:1Steve Graham. 用 Java 构建 Web 服务M. 北京:机械工业出版社, 2003. 柴晓路, 梁宇路. Web Services 技术、架 构和应用 M. 北京: 电子工业出版社,图 4 浏览器客户端的请求处理的顺序2用户登录系统时,验证用户名和密码;如果通过验证,系统查询该用户是否有一个认证令牌。如果有则取出令牌,并将 令牌封装进 AuthToken 数据结构后返回。如果没有,系统调用 辅助类中的 JavaUUIDGenerator 生成一个惟一的认证令牌,并 将令牌封装进AuthToken 数据结构后返回,同时将它存入数据 库中。discard_authTokenEJB 就是将相应用户的令牌认证注销。(2) 在 Publication API 中的实现类的执行流程为:获取 客户端传递过来的相应参数,验证用户的认证令牌是否有效;2003.李安渝. Web Services 技术与实现M.北京:国防工业出版社,2003.UDDI Version2.0 Programmers API specification EB/OL.2002-07-19./pubs/ProgrammersAPI-V2.04-Pub- lished.htm.UDDI Version2.0 Data structure specificationEB/OL.2002-07-19. /pubs/D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论