您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Spring Security 5.1 中文 参考手册 中文文档
SpringSecurityReference译译:Spring安全参考安全参考本帮助文档是觉得烦死整理--QQ:654638585声明:中文文档都是由软件翻译,翻译内容未检查校对,文档内容仅供参考。您可以任意转发,但请至保留作者&出处(),请尊重作者劳动成果,谢谢!Authors译译:作者作者BenAlex,LukeTaylor,RobWinch,GunnarHillert,JoeGrandja,JayBryant5.1.0.M1版权所有©2004-2017本文件副本可供您自行使用并分发给其他人,前提是您不收取任何此类副本的费用,并进一步规定每份副本均包含此版权声明,无论是以印刷版还是电子版分发。译译:SpringSecurity是一个强大且高度可定制的身份验证和访问控制框架。这是保护基于Spring的应用程序的事实标准。PartI.Preface译译:第一部分前言第一部分前言SpringSecurity为基于JavaEE的企业软件应用程序提供了全面的安全解决方案。正如您在参考指南中发现的那样,我们试图为您提供一个有用且高度可配置的安全系统。安全是一个不断移动的目标,并且追求全面的系统范围方法非常重要。在安全圈中,我们鼓励您采用“安全层”,以便每层都尽可能保证安全,连续层提供额外的安全性。每层的安全性越“紧密”,应用程序就越健壮和安全。在底层,您需要处理诸如运输安全和系统识别等问题,以缓解中间人攻击。接下来,您通常会使用防火墙,可能使用VPN或IP安全性来确保只有经过授权的系统才能尝试连接。在企业环境中,您可以部署一个DMZ,将面向公众的服务器与后端数据库和应用程序服务器分开。您的操作系统也将扮演重要角色,解决诸如以无特权用户身份运行进程等问题并最大限度提高文件系统安全性。操作系统通常也会配置自己的防火墙。希望在这个过程中的某个地方你会试图阻止对系统的拒绝服务和暴力攻击。入侵检测系统对于监视和响应攻击也特别有用,因为这些系统能够采取保护措施,例如实时阻止侵入TCP/IP地址。转移到更高层,您的Java虚拟机将有望配置为最大限度地减少授予不同Java类型的权限,然后您的应用程序将添加自己的问题特定于域的安全配置。SpringSecurity使后面的这个领域-应用程序的安全性更容易。当然,您需要正确处理上面提到的所有安全层,以及包含每个层的管理因素。这些管理因素的非详尽清单将包括安全公告监控,修补,人员审查,审计,变更控制,工程管理系统,数据备份,灾难恢复,性能基准测试,负载监控,集中式日志记录,事件响应程序等。由于SpringSecurity专注于帮助企业应用程序安全层,因此您会发现有多少不同的需求与业务问题域相同。银行应用程序对电子商务应用程序有不同的需求。电子商务应用程序对企业销售人员自动化工具有不同的需求。这些自定义要求使应用程序安全性变得有趣,富有挑战性和有益。请首先阅读Chapter1,GettingStarted的全部内容。这将向您介绍框架和基于命名空间的配置系统,您可以使用该系统快速启动和运行。为了更好地理解SpringSecurity的工作原理以及您可能需要使用的一些类,请阅读PartII,“ArchitectureandImplementation”。本指南的其余部分采用更传统的参考样式,旨在根据需要进行阅读。我们还建议您尽可能多地阅读应用程序安全问题。SpringSecurity不是解决所有安全问题的万能药。从一开始,应用程序的设计就要考虑到安全性,这一点很重要。试图改造它并不是一个好主意。特别是,如果您正在构建Web应用程序,则应该意识到许多潜在的漏洞,例如跨站脚本,请求伪造和会话劫持,您应该从一开始就考虑这些漏洞。OWASP网站()保留了Web应用程序漏洞的十大列表以及大量有用的参考信息。我们希望您发现本参考指南很有用,我们欢迎您的反馈和suggestions。最后,欢迎来到SpringSecuritycommunity。1.GettingStarted译译:1.入门入门本指南的后面部分提供了关于框架体系结构和实现类的深入讨论,您需要了解是否需要进行任何严格的自定义。在这一部分,我们将介绍SpringSecurity4.0,简要介绍一下该项目的历史,并对如何开始使用该框架稍微考虑一下。特别是,我们将着眼于命名空间配置,与传统的Springbean方法相比,它提供了一种更简单的保护应用程序的方法,您必须单独连接所有实现类。我们还会看看可用的示例应用程序。在你阅读后面的章节之前,值得尝试运行它们并尝试一些-你可以在对框架的理解增加的时候重新考虑它们。请同时查阅。io/spring-security[项目网站],因为它有关于构建项目的有用信息,以及指向文章,视频和教程的链接。2.Introduction译译:2.介绍介绍2.1WhatisSpringSecurity?译译:2.1什么是什么是SpringSecurity??SpringSecurity为基于JavaEE的企业软件应用程序提供全面的安全服务。特别强调支持使用SpringFramework构建的项目,SpringFramework是用于企业软件开发的领先JavaEE解决方案。如果您没有使用Spring开发企业应用程序,我们热烈鼓励您仔细研究它。对Spring的一些熟悉-特别是依赖注入原则-将帮助您更轻松地熟悉SpringSecurity。人们使用SpringSecurity有很多原因,但是大多数人在找到JavaEE的Servlet规范或EJB规范的安全特性后,都缺乏典型企业应用场景所需的深度。在提到这些标准的同时,认识到它们在WAR或EAR级别不可移植是很重要的。因此,如果切换服务器环境,在新的目标环境中重新配置应用程序的安全性通常需要很多工作。使用SpringSecurity克服了这些问题,并且还为您带来了许多其他有用的,可自定义的安全功能。正如您可能知道应用程序安全性的两个主要方面是“身份验证”和“授权”(或“访问控制”)。这是SpringSecurity的两大主要领域。“身份验证”是建立委托人的过程是他们自称的人(“委托人”通常是指用户,设备或其他可以在您的应用程序中执行操作的系统)。“授权”是指决定是否允许委托人在您的申请内执行某项操作的过程。为了达到需要授权决定的地步,委托人的身份已经由认证过程确定。这些概念很常见,并不完全针对SpringSecurity。在认证级别,SpringSecurity支持多种认证模式。这些认证模式大多由第三方提供,或者由相关标准组织(如互联网工程任务组)开发。另外,SpringSecurity还提供了自己的一套认证功能。具体而言,SpringSecurity目前支持与所有这些技术的认证集成:HTTPBASICauthenticationheaders(anIETFRFC-basedstandard)HTTPDigestauthenticationheaders(anIETFRFC-basedstandard)HTTPX.509clientcertificateexchange(anIETFRFC-basedstandard)LDAP(averycommonapproachtocross-platformauthenticationneeds,especiallyinlargeenvironments)Form-basedauthentication(forsimpleuserinterfaceneeds)OpenIDauthenticationAuthenticationbasedonpre-establishedrequestheaders(suchasComputerAssociatesSiteminder)JasigCentralAuthenticationService(otherwiseknownasCAS,whichisapopularopensourcesinglesign-onsystem)TransparentauthenticationcontextpropagationforRemoteMethodInvocation(RMI)andHttpInvoker(aSpringremotingprotocol)Automaticremember-meauthentication(soyoucantickaboxtoavoidre-authenticationforapredeterminedperiodoftime)Anonymousauthentication(allowingeveryunauthenticatedcalltoautomaticallyassumeaparticularsecurityidentity)Run-asauthentication(whichisusefulifonecallshouldproceedwithadifferentsecurityidentity)JavaAuthenticationandAuthorizationService(JAAS)JavaEEcontainerauthentication(soyoucanstilluseContainerManagedAuthenticationifdesired)KerberosJavaOpenSourceSingleSign-On(JOSSO)*OpenNMSNetworkManagementPlatform*AppFuse*AndroMDA*MuleESB*DirectWebRequest(DWR)*Grails*Tapestry*JTrac*Jasypt*Roller*ElasticPath*AtlassianCrowd*Yourownauthenticationsystems(seebelow)(*表示由第三方提供)许多独立软件供应商(ISV)都采用SpringSecurity,因为这种灵活的身份验证模型的选择非常重要。这样做可以让他们快速地将他们的解决方案与他们最终客户需要的任何内容集成起来,而无需进行大量工程或要求客户改变其环境。如果上述认证机制都不符合您的需求,SpringSecurity是一个开放平台,编写您自己的认证机制非常简单。SpringSecurity的许多公司用户都需要与不遵循任何特定安全标准的“传统”系统集成,而SpringSecurity很高兴能够与这样的系统“很好地发挥”。无论身份验证机制如何,SpringSecurity都提供了一套深层次的授权功能。有三个主要的感兴趣领域:授权Web请求,授权是否可以调用方法并授权访问单个域对象实例。为帮助您理解这些差异,请分别考虑Servlet规范Web模式安全性,EJB容器托管安全性和文件系统安全性中的授权功能。SpringSecurity在所有这些重要领域提供了深入的功能,我们将在本参考指南的后面部分进行探讨。2.2History译译:2.2历史历史SpringSecurity在2003年底开始称为“春季Acegi安全系统”。SpringDevelopers的邮件列表上提出了一个问题,询问是否对基于Spring的安全实现给予了任何考虑。当时Spring社区的规模相对较小(特别是与今天的规模相比),而Spring本身的确只是从2003年初开始作为SourceForge项目而存在。对这个问题的回应是它是一个有价值的领域,尽管缺乏的时间目前阻止了它的探索。考虑到这一点,构建了一个简单的安全实现,而不是发布。几个星期后,Spring社区的另一位成员询问了安全问题,并在当时向他们提供了这些代码。接下来还有其他几个要求,到2004年1月,大约有20个人在使用这些代码。这些先锋用户与其他人一起提出了一个建议SourceForge项目是有序的,该项目于2004年3月正式成立。在那些早期,该项目没有任何自己的认证模块。集装
本文标题:Spring Security 5.1 中文 参考手册 中文文档
链接地址:https://www.777doc.com/doc-5317507 .html