- 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 in Action中文版(第二版)-Spring Security
你是否注意到在电视连续剧中大多数人是不锁门的?这是司空见惯的。在情景喜剧《宋飞正传》(Seinfeld)中,克雷默常常到杰丽的房间里从冰箱中拿东西吃。在《老友经》(Friends)中,各种各样的剧中人经常不敲门就不加思索地进入别人的房间。甚至有一次在伦敦,罗斯突然进入钱德勒的旅馆房间,差点儿撞见钱德勒和罗斯的妹妹的私情。在《反斗小宝贝》(Leave It to Beaver)热播的年代,并不值得为人们不锁门这一现象而大惊小怪。但是在如今这个隐私和安全极受重视的时代,看到电视剧中的角色允许他人大摇大摆地进入自己的公寓房间或家中,实在让人难以想像。现实令人沮丧,有许多卑劣的人正在四处伺机偷走我们的金钱、财产、车辆和其他贵重物品。而随着信息逐渐成为我们所拥有的最有价值的东西时,窃贼们偷偷进入无保护的应用程序设法来偷取我们的数据和身份信息,也就不足为奇。做为软件开发人员,我们必须采取措施来保护我们应用程序中的那些信息。无论你是通过用户名/密码来保护一个电子邮件账号,还是基于交易个人身份号码来保护一个经纪账户,安全性都是绝大多数应用程序的一个重要切面。本书作者是有意选择“切面”这个词来描述应用程序的安全性。安全性是超越应用程序功能特性的一个关注点。通常来说,应用程序不应该亲自参与到对自己的保护中。尽管你可以把与安全相关的处理直接编码到应用程序中(这种情况并不少见),但是更好的做法还是将安全考虑与应用考虑分开。听上去好像安全性是通过“面向切面”技术实现的,其实还是如此。在本章中,我们将研究利用切面保护应用程序的方法。不过,我们不必自己开发那些切面——我们将着眼于Spring Security,这是一种基于Spring AOP和Servlet过滤器[7]的安全框架。7.1? Spring Security介绍Spring Security是一种为基于Spring的应用程序提供说明性安全保护的安全框架。它提供全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权。在Spring Framework基础上,Spring Security充分利用了依赖注入(DI,Dependency Injection)和面向切面技术。7.1.1? 名称中有什么在过去,Spring Security也被称为Acegi Security(或者简称为Acegi)。Acegi长期以来一直是Spring的一个子项目。但是在本书作者写到这儿时,正有计划准备将Acegi更加紧密地置于Spring项目伞之下。做为该行动的一部分,将不再使用Acegi这个名称,而改用“Spring Security”。按照计划,这一更改将在Acegi/Spring Security的1.1.0版本中开始实施。由于知道这一更改即将实施,因此本书作者决定先行一步,开始将Acegi称为Spring Security,不过读者还会在本章中看到一些该名称。在保护Web应用程序时,Spring Security使用Servlet过滤器来拦截Servlet请求,以实施身份认证和执行安全措施。并且,在第7.4.1节你将会看到,Spring Security采取了一种独特的机制来声明Servlet过滤器,使你可以使用Spring DI注入它所依赖的其他对象。Spring Security还可以通过保护方法调用在一个较低层的级别上执行安全措施。在保护方法时,Spring Security使用Spring AOP来代理对象,将“切面”应用于对象,以确保用户只有在拥有恰当授权时才能调用受保护的方法。无论你是只在Web请求级需要安全措施,还是需要较低层的方法安全措施,Spring Security都是使用如图7.1所示的5个主要组件来实施安全措施的。图7.1? Spring Security的基本要素在研究Spring Security安全机制的本质之前,首先让我们居高临下地考察一下Spring Security以及每一个组件在保护应用程序中所扮演的角色。? 安全拦截器工作了一整天,当你回到家时,需要打开家门上的锁。而为了打开那个锁,你必须先将一把钥匙插到锁孔中,并恰当地拨动锁的制动栓,以打开弹簧锁。如果钥匙和锁不匹配,就无法拨动制动栓,而弹簧锁也就不会被打开。但是如果你有正确的钥匙,那么所有的制动栓就都会接受这把钥匙,弹簧锁就会被打开,从而允许你把门打开。在Spring Security中,安全拦截器可以被看作是一把弹簧锁,能够阻止对应用程序中受保护资源的访问。为了弹开弹簧锁,从而通过安全拦截器,你必须向系统提供“钥匙”(通常是一对用户名和密码)。该“钥匙”接着会尝试拨开安全拦截器的“制动栓”,从而允许你访问受保护的资源。安全拦截器的实际实施将取决于所要保护的资源。如果读者正要在某个Web应用程序中保护
您可能关注的文档
- 56311汽车电气设备构造与检修技术 第3版.pptx
- 600231_2012凌源钢铁股份有限公司股东大会议事规则.ppt
- 600232_ 金鹰股份大股东、实际控制人行为规范及问询制度.ppt
- 600340_ 华夏幸福公司章程(2012修订).ppt
- 600368_2012广西五洲交通股份有限公司未来三年(2012 年-2014 年)股东回报规划.ppt
- 600354_ 敦煌种业董事会关于公司募集资金半年度存放与使用情况的专项报告(2017年中期).ppt
- 600735_ 新华锦股东大会议事规则.ppt
- 800900mhz频段射频识别(rfid)设备要求及检测技术规范85.ppt
- AA老年人上消化道出血.ppt
- aam_0504_《如何评估和改善仓库管理》62页.ppt
原创力文档


文档评论(0)