论文部分内容阅读
随着互联网的蓬勃兴起,企业应用从传统的客户机/服务器模式开始面向互联网。作为企业级应用程序解决方案之一,J2EE被认为是当今可用于企业软件开发的最佳平台,J2EE简化了基于工业标准的、组件化的企业应用开发,提供了一套完整的企业应用的开发框架和服务(Security、Transaction、Naming等)的支持。因此,越来越多的企业应用构建在J2EE平台上。人们在充分利用J2EE强大特性的同时,也逐渐发现一些问题,由于J2EE和企业业务的复杂性和分布性,经常可以看到编写完成的企业应用程序设计复杂,结构臃肿庞大,运行起来耗费大量系统资源且系统响应缓慢。针对这种情况,在Java社区中涌现出了一些优秀的开源组件,他们试图在J2EE开发领域引入一些新的思想和方法,以期解决所遇到的问题,Spring架构就是其中轻量级架构的代表。AOP,IoC,WEBSERVICE等一大批新的技术和概念的提出,彻底改变了WEB应用开发的设计思想和模式。
在企业应用中的WEB安全架构领域方面,安全性是超越应用系统功能特性的一个关注点。应用系统的绝大部分不应该亲自参与到与安全相关的处理中。尽管你能够把与安全相关的处理直接编码到应用系统中(这种情况并不少见),但更好的做法还是将安全有关的关注点与应用系统的关注点分开。AOP思想的应用使得权限管理和验证与系统的藕合度降低,系统权限的开发可以独立于整个系统,并能保证最大程度的可移植性和扩展性。建立在Spring基础之上的Acegi安全架构,就是其中的代表。借助于Spring的IoC技术,它几乎可以做到对系统代码的零入侵来满足多样的权限方面的需求,在WEB应用开发中已经得到了广泛的应用。
本文就J2EE领域中的出现的一些新的解决问题的思想和方法进行概述和分析,探讨了基于这些思想的开源软件实现及其作用,分析了IoC,AOP,Spring等关键的技术实现。然后比较了JAAS,SSO,RBAC等已有的安全技术,系统的分析了安全框架Acegi的实现机制和技术实现,并与JAAS,J2EE进行了比较,然后结合笔者的项目实践,阐述了Acegi如何在项目实践中得到具体应用。在本文最后探讨了如何对Acegi进行适当的扩展以满足实际的项目需求。
本文共分六个部分。第一部分主要探讨了课题研究目的、意义及发展现状,对课题进行了总体概述,说明了论文研究的主要内容及章节安排。第二部分相关理论基础和技术概述。主要介绍本论文中所涉及的一些技术IoC、AOP、JSF、Spring、Hibernate。第三部分WEB安全架构分析。分析了目前与以往中开发WEB应用系统常用的几种安全框架技术。第四部分Acegi安全框架。详细的论述了安全框架的的设计、工作流程以及关键技术问题的解决。第五部分Acegi安全框架在在基于JSH(JSF+Spring+Hibernate)的应用,结合一个实际的项目详细的讲解了Acegi安全框架在企业级项目中的应用和扩展。第六部分总结,总结了系统的特点,并对系统中待改进和完善的地方进行了相关说明。