基于Web服务的统一权限系统的设计 论文发表网
所属栏目:通信论文
发布时间:2011-02-24 11:44:54 更新时间:2023-06-02 16:20:35
【摘要】根据访问控制系统的实际需求,在可行的统一访问控制方案的基础上设计并实现了基于角色的统一权限系统,以解决单位内部应用系统统一而有效的用户管理和访问控制。
【关键词】统一权限系统;基于角色访问控制;面向服务
1引言
随着信息化建设的逐步深入,校园内部、企事业的信息管理部门所面临的环境越来越复杂。为了满足不同业务部门的需要,投入应用了各式各样的软件系统。这些系统往往各自独立、封闭运行。为了保证数据的安全,用户管理、身份认证和权限控制在这些应用系统中占有很重要的地位,不同的系统拥有互不兼容的访问控制模块。
应用集成是消除“信息孤岛”、提高信息化效率的关键之一,而网络应用正从面向对象的架构向面向服务的架构(Service-OrientedArchitecture,SOA)方向发展。在当今以松耦合、跨平台、动态集成为特点的新一代分布式计算环境中,将单位内部不同系统的用户认证和访问控制模块剥离出来重新进行有效的分析和设计,为单位内的异构系统提供统一、集中、有效、安全的访问控制服务成为值得研究的课题。
2相关技术分析
2.1基于角色的访问控制模型
基于角色的访问控制(RBAC)的概念是伴随着70年代多用户和多应用联机系统不断发展而出现的。RBAC作用于应用级,在用户和权限之间加入角色作为沟通桥梁,如图1所示。其基本思想是让权限与角色相映射,在系统中根据应用的需要创建相应的角色,并且将用户分派到相应的角色集合中。利用角色作为**将用户与权限联系起来,用户通过获得适当的角色而得到相应的权限。可以看出,RBAC实现了用户与访问权限的逻辑分离,而不是象传统访问控制技术那样将访问权限直接分配给用户。
图1基于角色访问控制关系图
将RBAC权限控制模型应用到大型的、结构化的信息系统集成开发中是非常理想的。
1.角色和角色层次可以很简单的就把单位的结构映射到信息系统中,更加直观,易于应用。
2.一旦权限初始设置好之后,就不再需要做大的调整。因为权限是直接与角色相对应,而不是用户。即使单位的人员调动频繁,但是工作岗位本身却很少变化。由于权限是基于工作岗位,而不是基于职员的,所以人员的调动并不会太多的影响到权限控制机制。
3.RBAC本身自然的就支持访问权限的委托机制。比如说科室的负责人需要休假,它可以将它所拥有的管理权限临时交给另一个人代理。只需要简单地将系统中的负责人这个角色分配给其他用户,而无需其他任何多余的操作就能实现。
以上的这些特点表明RBAC非常适合应用于校园内、大型的企业组织中。
2.2Web服务技术分析
Web服务是描述一些操作(利用标准化的XML消息传递机制可以通过网络访问这些操作)的接口。Web服务使用标准的、规范的XML概念描述,称为Web服务的服务描述。Web服务可以单独履行一项特定的任务,也可以同其他Web服务一起用于实现复杂的聚集或商业交易。
Web服务提供了在不同体系结构下构建的系统之间相互提供应用接口服务、数据的一种方案。Web服务技术的主要目标就是在现有各种异种平台的基础上构筑一个通用的平台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。标准的简单对象访问协议(SimpleObjectAccessProtocol,SOAP)、HTTP协议以及可扩展标记语言(eXtensibleMarkupLanguage,XML)就可以把原本互不相干、各自独立的系统服务整合成一套分布式、自动化和智能化的网络应用。Web服务不但充分地利用了己有的网络资源和开发资源,还大大减轻了程序员的开发工作量。传统的Web应用技术解决如何让人来使用Web应用所提供的服务,而Web服务则需要解决如何让计算机系统来使用Web应用所提供的服务。
Microsoft.NET平台内建了对Web服务的支持。从.NET框架角度来看,所有组件都可以是Web服务,而Web服务也是一种组件。.NET框架提取出微软组件对象模型(COM)的精华,将它们与松散耦合计算的概念结合在一起,生成了强大、高效的Web组件系统。.NET平台简化了程序员创建Web服务的操作,而深入集成的安全性则极大地改善了所创建服务的可靠性和可扩展性。论文中所叙述的统一权限系统就是基于.NET平台设计开发的。
3统一权限系统的设计与实现
3.1总体架构
权限系统的总体结构模型如图2所示。
完整的统一权限系统由3个部分组成:○1用户管理;○2权限分配;○3权限验证。权限数据库为关系型数据库,存放所有的用户及权限信息。数据库可以与Web服务器放在同一台主机上,也可以由单独的数据库服务器承担。
1.用户管理面向系统管理人员。它的定义完全从公司的员工考虑,管理着全公司的部门及人员信息。用户管理模块还负责用户口令的设置与修改,用户口令由用户个人掌握,即使是系统管理员也无从知晓。
2.权限分配是整个系统的核心,它也是面向系统管理人员的。主要负责系统访问控制策略的设置,同时建立与维护权限管理系统中的基本元素(诸如用户、角色、功能项等)。特别当应用系统的功能发生变化后,系统管理人员可以根据需要,随时调整系统的访问控制策略。
3.权限验证面向系统开发人员,主要负责权限的判断,为系统开发人员提供编程接口。系统开发人员进行业务系统功能设计时在所需要控制的关键点处进行调用,以便确定业务的执行逻辑。
用户信息的齐全、正确是进行访问控制策略设置的基本前提;应用系统中用户具有的访问权限则依赖于其在统一权限系统中所分配的相应角色具有的权限。
图2权限系统的总体结构模型
3.2用户访问系统的过程
用户访问系统的UML协作图如图3所示。
图3用户访问系统的UML协作图
用户访问系统的流程如下:
1.用户首先向WEB服务器提出认证请求。
2.WEB服务器把用户的认证请求转发给认证服务器。
3.认证服务器在验证了用户的身份后把认证结果返回给WEB服务器,若认证服务器返回结果为认证失败,则WEB服务器将拒绝为用户提供下一步服务。
4.WEB服务器把认证结果返回给用户。
5.用户在身份得到证实后可向WEB服务器发送角色请求,角色请求中应该包含能够唯一标识用户的信息,即用户标识(如用户名)。
6.WEB服务器把用户发来的角色请求转发给角色服务器。
7.角色服务器根据用户标识把属于该用户的当前活动角色返回给WEB服务器。
8.WEB服务器在对角色信息进行处理后,把角色信息以安全Cookie的形式返回给用户,详细处理过程将在第四章描述。
9.用户把取得的角色信息保存在自己的机器中,现在用户可以向WEB服务器发出服务请求(如浏览页面,操作,系统管理等)。在发送请求时,浏览器会自动把安全Cookie发送给WEB服务器。WEB服务器在验证用户角色信息的有效性后,根据用户提供的角色信息来控制用户对站内资源的访问。
在整个过程中,用户只用提交一次认证信息。在以后的访问过程中都由浏览器自动发送安全Cookie来为用户提供身份认证。因此,系统的访问控制过程对用户来说是完全透明的。
4小结
本文在对访问控制相关技术分析的基础上,对统一权限系统进行了总体设计。统一权限系统采用基于角色的访问控制策略,运用Web服务来包装对外接口。系统被分为用户管理、权限分配和权限验证三大模块。用户管理负责管理人员信息;权限分配是整个系统的核心,主要负责访问控制策略的设置;权限验证对外提供服务接口。统一权限系统采