论文部分内容阅读
在以各厂商和开源社区为代表的业界努力推动下,随着J2EE技术的推广,越来越多的企业应用系统将J2EE技术作为分布式应用的解决方案首选。每个企业应用系统都需要某种形式的安全措施,对于分布式系统,安全认证授权的需求尤为突出。遗憾的是,为了满足复杂的安全认证授权需求,在J2EE规范之外,各J2EE应用服务器都独立提供了各自的扩展,不仅在某种程度上造成了应用的不可移植性,而且增加了学习成本。J2EE应用服务器一般都比较耗费计算机系统资源,使得依赖于J2EE应用服务器环境的安全认证授权模块的调试和测试非常繁琐,不利于软件产品的开发。
本文在对J2EE规范和现有的开源框架进行综合研究的基础上,根据J2EE分布式技术和J2EE应用服务器的实际特点,采用IoC和AOP软件设计思想,初步解决了J2EE分布式应用中的安全认证授权问题,有效增强了J2EE分布式应用中基于主体的安全认证授权模块在各应用服务器之间的移植性,并提高了软件开发效率。主要工作和取得的成果如下:
1.在loC思想的指导下,抹平了J2EE分布式系统和非分布式系统之间安全认证的差异。用户可以快速开发出脱离J2EE容器的非分布式原型系统,并可将该系统方便地移植到分布式应用中。
2.基于AOP的授权模块设计,将声明式授权从J2EE容器的描述符中解脱出来,增强了程序的可测试性和可调试性。对EJB的声明式授权检查方式进行了改造,使其解耦于EJB容器。针对基于Apache Axis2的WebServices实现,增加了安全认证授权模块。
3.以两个应用较为广泛的J2EE应用服务器产品JBoss和IBM WebSphereApplication Server为例,根据各产品的特点,通过定制的适配器,将自定义安全认证授权中间件插入到各服务器中,对内对外均提供统一的安全认证授权应用接口,取代各应用服务器私有的接口和实现。
4.对于身份认证数据源,提供了统一数据访问方式。