financialburden.【关键词】LightWeighJ2EE,SecurityAuthorization,RBAC,PIugandPIay【论文类型】BasicforAppIication学位论文独创性声明本人所呈交的学位论文是我在导师的指导下进行的研究工作及取得的研究成果。
据我所知,除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。
对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:i量逊丝日期:丝2仝:!!:!皇学位论文使用授权声明本人完全了解华东师范大学有关保留、使用学位论文的规定,学校有权保留学位论文并向国家主管部门或其指定机构送交论文的电子J议和纸质版。
有权将学位论文用于非赢利目的的少量复制并允许论文进入学校图书馆被查阅。
有权将学位论文的内容编入有关数据库进行检索。
有权将学位论文的标题和摘要汇编出版。
保密的学位论文在解密后适用本规定。
学位论文作者签名:高琳红~Q托¨乃√t畚眵绝.●_氰一签扎蜊懒锄日基于轻量级J2EE的可插拔安全授权系统第l章绪论如今构建在Intemet之上的应用程序,被发现的安全漏洞越来越多并被不法分子利用,应用安全问题越来越成为应用系统中首要解决的问题,如何达到应用安全的目标或者说是如何构建安全的应用程序,逐渐成为了应用程序开发者所关注的焦点问题。
现有的许多应用系统如企业的OA系统、电子政务系统采用了J2EE架构及相应的安全措施来保证应用的安全,虽然这是一种很好的解决方案,但是对于中小企业和贫困地区的政府而言,基于J2EE架构的系统开发和维护成本都太高。
目前国外轻量级的J2EE解决方案已经相当成熟,如Struts2、Sprin92和Hibernate3。
Struts2、Sprin927f1〕Hibernate3是当前比较流行的开源的轻量级I拘J2EE框架。
因此,本文使用基于Struts2、Sprin92和Hibernate3相结合的轻量级J2EE框架,以及改进的RBAC机制等来构建一个企业级的可插拔的Web安全授权系统,并给出一个参考的实现。
可插拔的意思是授权与具体业务逻辑无关,开发人员在开发业务模块的时候,完全不用考虑对其使用者的访问控制等安全问题,使得开发人员能够从繁琐的安全代码中解脱出来。
这种安全的授权系统不仅可以使新系统的开发者将更多的精力用于系统的功能性和用户体验方面,而且可以很方便地与现有的系统进行集成,增强原有系统的安全性。
1.1国内外发展现状目前轻量级J2EE技术已经相当成熟,而且是开源的,已经有很多基于这些技术的应用系统,可以深入地进行研究,技术风险小。
RBAC访问控制机制经过多年的发展也日臻完善,同时也有不少优秀的授权系统案例可供参考。
1.视图层框架视图层框架也称为表示层框架,主要解决系统与用户的交互。
视图层中被广泛使用和认可的设计模式是MVC(ModelViewController)。
目前程序界使用的较多的视图层框架有Smuml、Struts2、Webwork、JSF、apestry、MyFaces、Turbine、SiteMeshAppFuse等数十种框架Ⅲ。
本文采用的视图层框架是Struts2,它是Stmtsl和webwork的升级,吸取了Strutsl和webwork的众多优点。
2.数据访问层框架当前数据库产品的市场仍然被关系型数据库所垄断,应用程序对关系型数据l基于轻量级J2EE的可插拔安全授权系统库的操作必须通过嵌入式的sql语句。
对于大型的应用系统,数据库表非常之多,各个表之间的关联关系错综复杂。
通过程序开发人员写sql语句来操作数据库中的表,不仅费时费力、而且效率不高、开发过程中容易出错,纠正错误和维护系统的代价很高。
在面向对象的程序设计中,对象的操作非常方便,因此一种被称之为对象关系映射(ObjectRelationMapping,简称ORM)的技术就发展起来了,它可以使程序开发人员像在面向对象的语言中操作对象一样操作数据库中的表,不需要编写复杂的SQL语句。
目前主流的持久层框架有Hibernate和IBatis等。
本文采用Hibernate框架,它对JDBC进行了对象化的封装,隐藏了不同类型的关系数据库中底层SQL的差异,是Java社区中最流行的ORM框架之一,E旧3规范中也借鉴了它的相关思想。
。
3.数据库层目前市场上主流的关系数据库系统有Oracle、DB2、Sybase、SQLServer、Informix等大型商业数据库系统,还有一些开源数据库系统如:MySQL、PostgreSQL、Firebird、BerkeleyDB、mSQLjglSQLite等让1。
在本文中我们使用MySQL数据库,它支持多线程、多处理器,可以工作在不同的平台上。
支持C、C++、Java、Perl、PHP、Python和TCLAPI。
4.服务层框架服务层框架为业务对象提供生命周期管理、事务管理等。
目前较为成熟的此类框架有Spring、HiveMind、PicoContainer以及〔〕内自主研发的JdonFrameworkt”。
Spring提供了强大的IOC和AOP功能,是本文所使用的服务层框架。
5.安全框架安全框架做为一个独立的可插拔组件给Web应用系统提供安全认证、权限授予等安全服务,使开发者专注于业务功能需求和用户体验。
目前流行的安全框架有:springSecurity、Seraph、YaleCAS、Gabriel、JOSSO、SourcelD、Kasaj、jPAM、OpenSAML等‘41。
本文中使用SpringSecurity安全框架,它通过Sp咖g的10C和AOP功能给Web应用提供企业级的安全服务,其插件式的架构能方便地与多种Web容器进行无缝集成,并能整合业界各种著名的SSO产品和解决方案‘51。
1.2研究背景与意义如今应用程序的安全漏洞越来越多地被不法分子利用,安全问题越来越成为2基于轻量级J2EE的可插拔安全授权系统应用系统中首要解决的问题,如何达到应用安全的目标或者说如何构建安全的应用程序,逐渐成为了应用程序开发者所关注的焦点问题。
然而,安全问题是一个不断变化的目标,如何适应这种不断变化的目标,作为开发者应寻求一种全面的、系统化的解决方案。
采取“分层安全”的原则是一种不错的选择,每一层都尽可能确保自身的安全,并为其他层提供额外的安全保障。
在底层,通过处理传输安全和系统认证,可以减少“中间人攻击一。
通过使用防火墙,结合VPN或IPSec等技术可以确保只有获得授权的系统才能尝试连接。
在企业环境中部署一个DMZ,可以将面向公众的服务器与后端数据库、应用服务器隔离开。
可以使用入侵检测系统防止拒绝服务攻击和暴力攻击。
在更高层上,可以通过配置Java虚拟机,使不同Java类型的权限最小化,然后在应用程序中添加针对特定问题域的安全配置。
然而应用程序本身的安全如何保证呢?本文的目标就是围绕这个主题构建一个基于轻量级J2EE的可插拔安全授权系统,使应用程序安全变得更容易。
现有的许多应用系统如企业的OA系统、电子政务系统采用了J2EE架构及相应的安全措施来保证应
上一篇:
中小型印刷企业ERP的设计、开发和应用
下一篇:
4种小菜缓解孕妈咪不适