基于Spring的企业级安全控制架构的研究和实现

来源 :中国人民大学 | 被引量 : 0次 | 上传用户:jyx781004
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
J2EE(Java2 Platform Enterprise Edition)是一个基于Java2平台独立的、可移植的、多用户的、安全的企业级平台标准,它克服了传统Client/Server模式的弊病,迎合了Browser/Server架构的潮流,大大简化了企业级应用的开发、部署和管理。然而,人们在充分利用J2EE强大特性的同时,也逐渐发现了一些问题,尤其是使用EJB(Enterprise Java Bean)后使得中小型企业应用中的开发和维护成本提高,复杂度增加。面对这种情况,近几年逐渐涌现出了一些优秀的开源框架,它们试图在J2EE开发领域引入一些新的思想和方法,以期解决使用传统EJB组件所带来的问题。轻量级的Spring框架就是其中的典型代表。控制反转(Inversion of Control,IoC)、面向切面编程(Aspect-oriented programming,AOP)等一大批新的技术和概念的提出,彻底改变了企业应用开发的设计和模式。  在企业应用环境中,安全是一个永无止境的目标,对所有企业应用而言,获取一个全面的,系统级的安全控制解决方案无疑是至关重要的。在企业安全架构这一领域,AOP的使用降低了权限的开发和管理与系统框架和功能的耦合度,使得用户的认证和授权操作可以独立于整个系统的核心业务逻辑,并能保证最大程度的可移植性和扩展性。建立在Spring框架基础之上的Acegi(SpringSecurity)安全架构,就是使用这一技术的代表。借助于Spring的IoC和AOP技术,Acegi几乎可以做到对系统代码的零侵入来满足企业应用中多种多样的权限方面的需求,在企业应用开发中正在得到广泛的应用和实践。  论文首先分析了J2EE安全模型的局限性,并详细介绍了Spring轻量级框架和构建在它之上的Acegi安全架构,系统分析了Acegi的实现机制以及在实际应用中的不足之处。在此研究的基础上,通过对Acegi进行适当的扩展和改进,尝试构建一个通用性好的、便于配置和管理的、真正贴近企业开发实际的安全控制架构。  本论文主要内容共五章,第一章分析了企业级安全的基本需求,介绍了J2EE平台对用户认证和授权的支持以及J2EE安全架构的局限性;第二章分析了轻量级Spring框架的核心技术,重点介绍了IoC和AOP技术在降低程序的耦合度、把安全等具有横切性质的关注点同核心业务逻辑相分离等方面给出的优美解决方案;第三章分析了Acegi安全架构的实现机制和在实际应用中的不足之处,提出了改进思路;第四章介绍了基于角色的访问控制(Role-Based AccessControl,RBAC)模型,并在对Acegi中引入RBAC模型的利弊分析基础上,提出了在Acegi中采用一种折衷的权限管理方案。该方案把对Web资源和业务方法的保护同对领域对象的保护隔离开来,采用不同的访问控制模型,具体说就是对Web资源和业务方法的保护采用简化的RBAC模型,而对领域对象的保护采用ACL(Access Control List)模型。这样,不但提高了系统权限校验的效率、加快了系统的响应速度,而且对领域对象的保护提供了极大的灵活性;第五章是对Acegi具体的改进和扩展,改进的原则是只对Acegi中不符合企业应用中具有普遍性的需求的地方进行扩展,而尽量不改动其余部分来实现通用的权限控制架构,以求能更好地适应各式各样的企业应用。  论文的主要工作和特色如下:  1.在改进后的权限控制架构中,对Web资源和业务方法的保护采用了简化的RBAC模型。所有安全控制信息统一存放于RDBMS中,便于实时联机管理和维护,减轻了系统管理员的负担。  2.在改进后的权限控制架构中,构建了更为合理有效的缓存使用体系,提出了两种缓存使用策略:永久缓存和可失效缓存。从而加快了认证和授权的速度,提高了认证和授权效率。  3.在用户认证模块中集成了Captcha服务,保护了用户登录界面。  4.在Acegi原有的资源类型(WEB、METHOD类型)的基础上引入了新的资源类型(TAG类型),并提供了基于TAG资源授权控制的TagLib,从而可以根据TAG资源所对应的权限和当前用户具有的权限来决定页面元素的显示,更便于表现层的使用。  5.提供了B/S结构的联机授权管理模块,方便管理员进行权限管理。
其他文献
随着Web应用的快速增长,XML数据逐渐成为数据存储的一种新的标准。作为XML的标准查询语言XQuery,其处理技术也得到了国内外研究人员广泛关注,形成了两套相对成熟查询处理方式(基
传统数据库系统的处理对象主要是相对稳定的数据集。而在当今一些新的应用中,数据都以连续的、流的形式出现,而不是有限的存储数据集。这种动态的流数据其应用领域非常多,像股市
应对日益复杂化的公共安全事件,仅仅依靠政府警务力量是不够的,而是需要许多社会组织的参与。这就要求公共安全系统能够按需动态的集成和整合各种社会信息资源,供警务部门决策指
在实际生活中,传统模式识别方法对于大规模数据的分类和函数逼近并不具有理想的性能。数据量和数据的复杂性以及数据样本的不平衡性,导致分类器在学习过程中的存储消耗大、学习
恐怖主义由来已久,近年来恐怖袭击事件时常发生,严重威胁到人类的生命财产安全。“9.11”恐怖事件、巴厘岛爆炸案、云南火车站暴力恐怖事件等都说明了恐怖组织的残忍,对社会造成
Adhoc网络是一种分布式的无线多跳网络。节点依赖彼此间的合作实现信息的交流。尽管针对军事行动、抢险救灾等特殊应用的Adhoc网络可以确保节点间相互合作,但是当节点分别属于
计算机已经进入多核时代,从Intel,AMD,Sparc到PowerPC,CPU的设计者们不再追求单核的高频率而是向多核发展,现在的双核乃至四核CPU已经成为了主流。多核的出现将迫使改变原有的程序
概念格理论作为一种知识表示和数据分析的形式化工具,在理论研究和实际应用中都具有重要的意义,形式概念分析已经在众多的领域获得了成功的应用。但是在基于关系数据库的信息管
随着越来越多的数据开始采用XML进行描述、存储、交换和展现,面向XML文档的信息检索能力变得日益重要。由于XML文档的半结构化特征,对于XML文档的信息检索技术不仅要满足内容需
报表是展现数据的一种工具,是企业应用系统的重要组成部分,在企业应用系统的开发过程中,往往由于市场环境的多变导致报表应用需求的多变,对报表的开发、维护成本一直很高,给企业应