一种基于SPRING SECURITY访问控制方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于SPRING SECURITY访问控制方案

一种基于SPRING SECURITY的访问控制方案    摘 要:访问控制技术对于任何应用系统来说,都是一个非常重要的信息安全保障措施,尤其是对于那些存储了一些敏感重要信息的系统。因此,能否设计一个好的访问控制系统已经成为系统是否能够成功的关键。提出了一种基于SPRING SECURITY开源技术的解决方案,很好地解决系统的访问控制问题,而且使业务代码与访问控制代码分离,利于系统的扩展和维护。??   关键词:访问控制;SPRING SECURITY;面向切面编程;控制反转??   中图分类号:TP393.09 文献标识码:A 文章编号:1672-7800(2011)08-0122-02?お?   ??   基金项目:皖南医学院中青年基金(WK201013)??   作者简介:黄道斌(1981-),男,安徽芜湖人,硕士,皖南医学院计算机教研室职员,研究方向为信息安全、软件工程。         0 引言??    访问控制技术,针对不同的用户,能够提供不同的访问权限,通过系统设计的访问策略,保证我们的信息提供给正确的用户。对访问控制技术的研究已经有几十年的时间,比如一些非常经典的访问控制模型:自主访问控制技术(DAC)、强制访问控制技术(MAC)和基于角色的访问控制技术(RBAC),这些模型的提出为我们设计系统的访问控制提供了理论基础。目前,非常流行的是基于角色的访问控制技术,由于其优良的特性,为越来越多的系统设计者采用。 ??    在系统实施访问控制的时候,主要有如下几种开发策略:自己编写所有的用于访问控制的代码,采用商业访问控制系统,采用开源的解决方案。对于第一种方案,目前来说采用的非常多,其缺点是对访问控制的编码工作量巨大,而且编写的代码与业务代码耦合在一起,代码质量不高,不利于维护和扩展。对于第二种情况,涉及到购买现成的商业系统,成本开销比较大,而且能否与将要开发系统很好地整合将是其成功的关键。第三种情况,在近几年内出现得比较多,由于采用开源的方案,很好地查看其代码,非常利于开发和系统整合,比如在非常有名的开源框架ACEGI,它是我们今天介绍的SPRING SECURITY的前身。??   1 相关技术简介??   1.1 Spring 与Spring Security??    Spring框架是一个优秀J2EE系统开源框架,可以让开发者能够很容易的实现轻量级的J2EE架构,降低了应用开发的难度与复杂度,使系统的可维护性与可扩展性大大加强,提高了开发的速度。其核心技术为控制反转(IoC)和面向切面编程(AOP)。Spring 实现的IoC模式,使得所有的JAVA对象都可以不用实现如何查找定位资源以及依赖的对象,进一步降低了类之间的耦合度,它改变了传统的对象的创建方法,实现了一种以XML配置的对象管理方式,Spring框架中由IoC容器负责配置性的对象的管理。??    Spring Security是在Acegi的基础上发展而来的,于2007年更名为Spring Security。Spring Security是一个能够为基于Spring的企业应用系统提供描述性安全访问控制解决方案的安全框架,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。??   1.2 认证(authentication)与授权(auhorization)??    对于一个应用系统来说,实现系统的安全控制主要分为两个部分:认证与授权。首先,系统用户向系统提供身份证明,必须是合法用户才能够使用系统,这个步骤称为用户认证;然后要根据不同的用户分配不同的权限给相应的登入用户,实现的技术比较多,可以直接分配权限,也可以先将权限分配给角色,再将角色分配给相应的用户,用户在完成了认证和获得权限之后就可以开始使用系统的相关资源了,在访问的过程中根据用户所拥有的权限与访问资源所需要的权限比较,满足则可以访问,反之不行,这个步骤称为授权。??   1.3 AOP(Aspect-Oriented Programming,面向方面编程)??    AOP是近几年来非常受欢迎的编程思想,它对面向对象编程是一种重要的补充和完善。其核心思想就是将应用系统中的业务逻辑与通用的辅助服务分离。比如在一个系统当中的日志处理,访问控制,事务处理等等,AOP的目的就是让软件开发人员只要关心具体的业务处理逻辑,不必在业务处理逻辑中进行相应的辅助处理检查,将这些辅助处理检查方法放一个公用的模块中,我们称为切面(Aspect),在系统运行时通过某种技术将逻辑处理模块和辅助服务模块整合起来。目前实现AOP的技术有:动态代理技术,其主要使用拦截消息的方式,在系统业务逻辑处理前后来进行相关的辅助服务;静态织入技术

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档