- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Spring框架应用的权限控制系统的研究和实现_计算机论文.doc
基于Spring框架应用的权限控制系统的研究和实现_计算机论文
基于Spring框架应用的权限控制系统的研究和实现_计算机论文
摘 要 Spring框架是一个优秀的多层J2EE系统框架,Spring本身没有提供对系统的安全性支持。Acegi是基于Spring IOC 和 AOP机制实现的一个安全框架。本文探讨了Acegi安全框架中各部件之间的交互,并通过扩展Acegi数据库设计来实现基于Spring框架的应用的安全控制方法。
关键词 Spring ;Acegi ;认证; 授权
1 引言
近年来,随着Internet技术的迅猛发展,计算机网络已深入到了人们的工作、学习和日常生活中,于是,怎样构建安全的web应用也成为了当前最热门的话题。Spring是一个基于IoC(Inversion of Control)和AOP(Aspect Oriented Programming)的构架多层J2EE应用系统的框架。Spring框架正在以其优良的特性吸引了越来越多的开发人员的关注,并在大量的系统开发中被使用。然而,现有的Spring框架本身并没有提供对系统安全性的支持,本文通过介绍一种可用于Spring框架中的安全框架Acegi,并对在Spring框架中使用Acegi实现安全用户认证和资源授权控制进行了较深入的研究和扩展,同时给出了可行的解决方案。
2 Spring框架和Acegi安全框架介绍
2.1 spring 框架
Spring框架是由Open Source开发的一个优秀的多层J2EE系统框架,它为企业级应用提供了一个非常轻量级的解决方案,大大地降低了应用开发的难度与复杂度,提高了开发的速度。
Spring框架的核心是IoC和AOP。IoC是一种设计模式,即IoC模式。IoC模式进一步降低了类之间的耦合度,并且改变了传统的对象的创建方法,实现了一种配置式的对象管理方式,Spring框架中由IoC容器负责配置性的对象的管理。IoC模式极大的提高了系统开发与维护的灵活性。
AOP是一种编程模式,它是从系统的横切面关注问题。传统的面向对象编程OOP主要从系统的垂直切面对问题进行关注,对于系统的横切面关注很少,或者说很难关注,这样当考虑到系统的安全性、日志、事务以及其他企业级服务时,OOP就无能为力了,只能在所有相关类中加入类似的系统服务级的代码。AOP为解决系统级服务问题提供了一种很好的方法。AOP将系统服务分解成方面看待,并为类提供一种声明式系统服务方式。Java类不需要知道日志服务的存在也不需要考虑相关的代码。所以,用AOP编写的应用程序是松耦合的,代码的复用性就提高了。
2.2 Acegi 安全框架
借助于Spring框架,开发者能够快速构建结构良好的WEB应用,但现有的Spring框架本身没有提供安全相关的解决方案。同样来自于Open Source 社区的Acegi安全框架为实现基于Spring框架的WEB应用的安全控制提供了一个很好的解决方案。Acegi本身就是利用Spring提供的IoC和AOP机制实现的一个安全框架,它将安全性服务作为J2EE平台中的系统级服务,以AOP Aspect形式发布。所以借助于Acegi安全框架,开发者能够在Spring使能应用中采用声明式方式实现安全控制。
Acegi安全框架主要由安全管理对象、拦截器以及安全控制管理组件组成。安全管理对象是系统可以进行安全控制的实体,Acegi框架主要支持方法和URL请求两类安全管理对象;拦截器是Acegi中的重要部件,用来实现安全控制请求的拦截,针对不同的安全管理对象的安全控制请求使用不同的拦截器进行拦截;安全控制管理部件是实际实现各种安全控制的组件,对被拦截器拦截的请求进行安全管理与控制,主要组件包括实现用户身份认证的AuthenticationManager、实现用户授权的AccessDecisionManager 以及实现角色转换的RunAsManager。安全管理对象、拦截器以及安全控制管理组件三者关系如图1所示。
3 Acegi安全框架在基于Spring框架的系统中的应用
3.1 分析系统安全性需求
首先,需要明确进行安全控制的对象,可为业务方法和URL资源。
其次,需要进一步明确,系统身份认证资料和资源授权信息的数据持久化形式。
3.2 Acegi安全系统数据库设计
在Acegi框架中支持多种安全信息的持久化方式,可以在配置文件中配置或存放在关系数据库。由于在实际应用中,需求是经常发生变化的。所以,在配置文件中配置是满足不了实际应用需求的。然而,Acegi本身对权限表的设计非常简单,users表{username,password,enabled} 和authorities表{username,authority},这样简单的设计
您可能关注的文档
- 基于GIS的城市防震减灾辅助决策信息系统构建_计算机论文.doc
- 基于GIS的河流水质动态监测系统_计算机论文.doc
- 基于GIS的牵引供电信息管理系统平台的分析 _计算机论文.doc
- 基于GMDH方法的复杂时间序列的数据预测_计算机论文.doc
- 基于GPS车辆跟踪系统的移动对象数据库应用研究_计算机论文.doc
- 基于GP算法的知识发现系统_计算机论文.doc
- 基于H.264的群集转码系统的设计_计算机论文.doc
- 基于HCI协议层的蓝牙通用外接模块的研究开发_计算机论文.doc
- 基于HL7的临床信息系统(CIS)初探(Draft) _计算机网络论文.doc
- 基于HOOK技术和MMF的Windows密码渗透技术研究_计算机论文.doc
- 基于STRUTS 2框架产品信息Web发布系统的实现_计算机论文.doc
- 基于Struts+Spring的Web应用设计与实现_计算机论文.doc
- 基于Struts和Hibenate的遥感信息发布系统研究_计算机论文.doc
- 基于Struts和Hibernate软件架构实现基金管理信息系统_计算机论文.doc
- 基于TCP的拥塞控制策略研究_计算机论文.doc
- 基于tuxedo中间件架构的应用研究_计算机论文.doc
- 基于TUXEDO的数据综合服务平台实现_计算机论文.doc
- 基于UBL和纯XML数据库的EDI系统设计与实现_计算机论文.doc
- 基于UDDI的Web服务发现系统的设计和实现_计算机论文.doc
- 基于UML顺序图的场景测试用例生成方法_计算机论文.doc
文档评论(0)