Spring Security Reference 译译 : Spring安全参 考安 全 参 考
本帮助文档是 觉得烦死 整理--QQ:654638585
声明:
中文文档都是由软件翻译,翻译内容未检查校对,文档内容仅供参考。
您可以任意转发,但请至保留作者&出处(http://bolg.fondme.cn),请尊重作者劳动成果,谢谢!
Authors 译译 :作 者作 者
Ben Alex , Luke Taylor , Rob Winch , Gunnar Hillert , Joe Grandja , Jay Bryant
5.1.0.M1
版权所有©2004-2017
本文件副本可供您自行使用并分发给其他人,前提是您不收取任何此类副本的费用,并进一步规定每份副本均包含此版权声明,无论是以印刷版还是电子版分发。
译译 :
Spring Security是一个强大且高度可定制的身份验证和访问控制框架。 这是保护基于Spring的应用程序的事实标准。
Part I. Preface 译译 :第 一 部 分 前 言第 一 部 分 前 言
Spring Security为基于Java EE的企业软件应用程序提供了全面的安全解决方案。 正如您在参考指南中发现的那样,我们试图为您提供一个有用且高度可配置的安全系统。
安全是一个不断移动的目标,并且追求全面的系统范围方法非常重要。 在安全圈中,我们鼓励您采用“安全层”,以便每层都尽可能保证安全,连续层提供额外的安全性。
每层的安全性越“紧密”,应用程序就越健壮和安全。 在底层,您需要处理诸如运输安全和系统识别等问题,以缓解中间人攻击。 接下来,您通常会使用防火墙,可能使用
VPN或IP安全性来确保只有经过授权的系统才能尝试连接。 在企业环境中,您可以部署一个DMZ,将面向公众的服务器与后端数据库和应用程序服务器分开。 您的操作系
统也将扮演重要角色,解决诸如以无特权用户身份运行进程等问题并最大限度提高文件系统安全性。 操作系统通常也会配置自己的防火墙。 希望在这个过程中的某个地方
你会试图阻止对系统的拒绝服务和暴力攻击。 入侵检测系统对于监视和响应攻击也特别有用,因为这些系统能够采取保护措施,例如实时阻止侵入TCP / IP地址。 转移到
更高层,您的Java虚拟机将有望配置为最大限度地减少授予不同Java类型的权限,然后您的应用程序将添加自己的问题特定于域的安全配置。 Spring Security使后面的这个
领域 - 应用程序的安全性更容易。
当然,您需要正确处理上面提到的所有安全层,以及包含每个层的管理因素。 这些管理因素的非详尽清单将包括安全公告监控,修补,人员审查,审计,变更控制,工程
管理系统,数据备份,灾难恢复,性能基准测试,负载监控,集中式日志记录,事件响应程序等。
由于Spring Security专注于帮助企业应用程序安全层,因此您会发现有多少不同的需求与业务问题域相同。 银行应用程序对电子商务应用程序有不同的需求。 电子商务应
用程序对企业销售人员自动化工具有不同的需求。 这些自定义要求使应用程序安全性变得有趣,富有挑战性和有益。
请首先阅读Chapter 1, Getting Started的全部内容。 这将向您介绍框架和基于命名空间的配置系统,您可以使用该系统快速启动和运行。 为了更好地理解Spring Security的
工作原理以及您可能需要使用的一些类,请阅读Part II, “Architecture and Implementation” 。 本指南的其余部分采用更传统的参考样式,旨在根据需要进行阅读。 我们还建
议您尽可能多地阅读应用程序安全问题。 Spring Security不是解决所有安全问题的万能药。 从一开始,应用程序的设计就要考虑到安全性,这一点很重要。 试图改造它并
不是一个好主意。 特别是,如果您正在构建Web应用程序,则应该意识到许多潜在的漏洞,例如跨站脚本,请求伪造和会话劫持,您应该从一开始就考虑这些漏洞。
OWASP网站( http://www.owasp.org/ )保留了Web应用程序漏洞的十大列表以及大量有用的参考信息。
我们希望您发现本参考指南很有用,我们欢迎您的反馈和 suggestions 。
最后,欢迎来到Spring Security community 。
1. Getting Started 译译 : 1.入门入门
本指南的后面部分提供了关于框架体系结构和实现类的深入讨论,您需要了解是否需要进行任何严格的自定义。 在这一部分,我们将介绍Spring Security 4.0,简要介绍一
下该项目的历史,并对如何开始使用该框架稍微考虑一下。 特别是,我们将着眼于命名空间配置,与传统的Spring bean方法相比,它提供了一种更简单的保护应用程序的
方法,您必须单独连接所有实现类。
我们还会看看可用的示例应用程序。 在你阅读后面的章节之前,值得尝试运行它们并尝试一些 - 你可以在对框架的理解增加的时候重新考虑它们。 请同时查阅http://spring
。 io / spring-security [项目网站],因为它有关于构建项目的有用信息,以及指向文章,视频和教程的链接。
2. Introduction 译译 : 2.介绍介绍
2.1 What is Spring Security? 译译 : 2.1什 么 是什 么 是 Spring Security??
Spring Security为基于Java EE的企业软件应用程序提供全面的安全服务。 特别强调支持使用Spring Framework构建的项目,Spring Framework是用于企业软件开发的领先
Java EE解决方案。 如果您没有使用Spring开发企业应用程序,我们热烈鼓励您仔细研究它。 对Spring的一些熟悉 - 特别是依赖注入原则 - 将帮助您更轻松地熟悉Spring
Security。
人们使用Spring Security有很多原因,但是大多数人在找到Java EE的Servlet规范或EJB规范的安全特性后,都缺乏典型企业应用场景所需的深度。 在提到这些标准的同
时,认识到它们在WAR或EAR级别不可移植是很重要的。 因此,如果切换服务器环境,在新的目标环境中重新配置应用程序的安全性通常需要很多工作。 使用Spring
Security克服了这些问题,并且还为您带来了许多其他有用的,可自定义的安全功能。
正如您可能知道应用程序安全性的两个主要方面是“身份验证”和“授权”(或“访问控制”)。 这是Spring Security的两大主要领域。 “身份验证”是建立委托人的过程是他们自称
的人(“委托人”通常是指用户,设备或其他可以在您的应用程序中执行操作的系统)。 “授权”是指决定是否允许委托人在您的申请内执行某项操作的过程。 为了达到需要授
权决定的地步,委托人的身份已经由认证过程确定。 这些概念很常见,并不完全针对Spring Security。