一—分费责
Spring Security为基于JavaEE的企业软件应用程序提供了全面的安全解决方案。 正如您在参考指南中发现的那样,我们试图为您提供一个有用且高度可配置的安全系统。
安全是一个不断移动的目标,并且追求全面的系统范围方法非常重要。在安全圈中,我们鼓励您采用"安全层",以便每层都尽可能保证安全,连续层提供额外的安全性。每层的安全性越"紧密",应用程序就越健壮和安全。 在底层,您需要处理诸如运输安全和系统识别等问题,以缓解中间人攻击。 接下来,您通常会使用防火墙,可能使用VPN或IP安全性来确保只有经过授权的系统才能尝试连接。 在企业环境中,您可以部署一个DMZ,将面向公众的服务器与后端数据库和应用程序服务器分开。 你的操作系统也将扮演重要鱼色,解决诸如以无特权用户身份运行进程等问题并最大限度提高文件系统安全性。操作系统通常也会配置自己的防火墙。 希望在这个过程中的某个地方你会试图阻止对系统的拒绝服务和暴力攻击。 入侵检测系统对于监视和响应攻击也特别有用,因为这些系统能够采取保护措施,例如实时阻止侵入TCP/IP地址。 转移到更高层,您的Java虚拟机将有望配置为最大限度地减少授予不同Java类型的权限,然后您的应用程序将添加自己的问题特定于域的安全配置。Spring Security使后面的这个领域-应用程序的安全性更容易。
当然,您需要正确处理上面提到的所有安全层,以及包含每个层的管理因素。 这些管理因素的非详尽清单将包括安全公告监控,修补,人员审查,审计,变更控制,工程管理系统,数据备份,灾难恢复,性能基准测试,负载监控,集中式日志记录,事件响应程序等。
由于Spring Security专注于帮助企业应用程序安全层,因此您会发现有多少不同的需求与业务问题域相同。银行应用程序对电子商务应用程序有不同的需求。电子商务应用程序对企业销售人员自动化工具有不同的需求。 这些自定义要求使应用程序安全性变得有趣,富有挑战性和有益。
请首先阅读Chapter 1.Getting Started的全部内容。这将向您介绍框架和基于命名空间的配置系统,您可以使用该系统快速启动和运行。为了更好地理解Spring Security的工作原理以及您可能需要使用的一些类,请阅读Part肌."Architecture and Implementation"。本指南的其余部分采用更传统的参考样式,旨在根据需要进行阅读。我们还建议您尽可能多地阅读应用程序安全问题。 Spring Security不是解决所有安全问题的万能药。 从一开始,应用程序的设计就要考虑到安全性,这一点很重要。 试图改造它并不是一个好主意。 特别是,如果您正在构建Web应用程序,则应该意识到许多潜在的漏洞,例如跨站脚本,请求伪造和会话劫持,您应该从一开始就考虑这些漏洞。OWASP网站(htp∶/www.owasp.org/)保留了Web应用程序漏洞的十大列表以及大量有用的参考信息。我们希望您发现本参考指南很有用,我们欢迎您的反馈和 suggestions。
最后,欢迎来到Spring Security community。
1. Getting Started:.
本指南的后面部分提供了关于框架体系结构和实现类的深入讨论,您需要了解是否需要进行任何严格的自定义。 在这一部分,我们将介绍Sprin Security4.0.简要介绍一下该项目的历史,并对如何开始使用该框架稍微考虑一下。特别是,我们将着眼于命名空间配置,与传统的Spring bean方法相比,它提供了一种更简单的保护应用程序的方法,您必须单独连接所有实现类。
我们还会看看可用的示例应用程序。在你阅读后面的章节之前,值得尝试运行它们并尝试一些-你可以在对框架的理解增加的时候重新考虑它们。 请同时查阅http/spring 。io/spring-security 【项目网站】,因为它有关于构建项目的有用信息,以及指向文章,视频和教程的链接。
2. Introduction.:2
2.1 What is Spring Security?:2:s..
Spring Security为基于Java EE的企业软件应用程序提供全面的安全服务。 特别强调支持使用Spring Framework构建的项目,Spring Framework是用于企业软件开发的领先Java EE解决方案。 如果您没有使用Spring开发企业应用程序,我们热烈鼓励您仔细研究它。 对Spring的一些熟悉-特别是依赖注入原则-将帮助您更轻松地熟悉Spring Secuty.
人们使用Spring Security有很多原因,但是大多数人在找到Java EE的Servet规范或EJB规范的安全特性后,都缺乏典型企业应用场景所需的深度。 在提到这些标准的同时,认识到它们在WAR或EAR级别不可移植是很重要的。 因此,如果切换服务器环境,在新的目标环境中重新配置应用程序的安全性通常需要很多工作。 使用Spring Security克服了这些问题,并且还为您带来了许多其他有用的,可自定义的安全功能。
正如您可能知道应用程序安全性的两个主要方面是"身份验证"和"授权"(或"访问控制")。这是Spring Securit的两大主要领域。"身份验证"是建立委托人的过程是他们自称的人("委托人"通常是指用户,设备或其他可以在您的应用程序中执行操作的系统)。"授权"是指决定是否允许委托人在您的申请内执行某项操作的过程。 为了达到需要授权决定的地步,委托人的身份已经由认证过程确定。这些概念很常见,并不完全针对Spring Security。
在认证级别,Spring Security支持多种认证模式。这些认证模式大多由第三方提供,或者由相关标准组织(如互联网工程任务组)开发。另外,Spring Security还提供了自己的一套认证功能。具体而言,Spring Security目前支持与所有这些技术的认证集成∶
● HTTP BASIC authentication headers (an IETF RFC-based standard)·HTTP Digest authentication headers (an ETF RFC-based standard)· HTTP X.509 client certificate exchange (an IETF RFC-based standard)
· LDAP(a very common approach to cross-platform authentication needs,especiallyin large environments)·Form-based authentication (for simple user interface needs)
● OpenID authentication
·Authentication based on pre-established request headers (such as Computer Associates Siteminder)
·Jasig Central Authentication Service (otherwise known as CAS, which is a popuar open source single sign-on system)
· Transparent authentication contex propagation for Remote Method Invocation (RMl) and Htplnvoker (a Sping remoting protocol)
●Automatic "remember-me" authentication (so you can tick a boxto avoid re-authentication for a predetermined period of time)· Anonymous authentication (allowing everyunauthenticated call to automatically assume a particular securityidentity)· Run-as authentication (which is useful if one call should proceed with a different security identity)
● Java Authentication and Authorization Service (JAAS)
Java EE container authentication (so you can stil use Container Managed Authentication if desired)
● Kerberos
·Java OpenSource Single Sign-On(JOSsO)*· OpenNMS Network Management Platform*· AppFuse*
● AndroMDA*· Mule ESB*
● Direct Web Request (DWR)*
●Grails · Tapestry*·JTract ·Jasypt *
● Roller
● Elastic Path*
● Atlassian Crowd *
· Your own authentication svstems (see below)
(*表示由第三方提供)
许多独立软件供应商(ISV)都采用Spring Security,因为这种灵活的身份验证模型的选择非常重要。 这样做可以让他们快速地将他们的解决方案与他们最终客户需要的任何内容集成起来,而无需进行大量工程或要求客户改变其环境。如果上述认证机制都不符合您的需求,Spring Security是一个开放平台,编写您自己的认证机制非常简单.,Sping Security的许多公司用户都需要与不遵循任何特定安全标准的"传统"系统集成,而Spring Security很高兴能够与这样的系统"很好地发挥"。
无论身份验证机制如何,Spring Security都提供了一套深层次的授权功能。有三个主要的感兴趣领域∶授权Web请求,授权是否可以调用方法并授权访问单个域对象实例。为帮助您理解这些差异,请分别考虑Servet规范Web模式安全性,EJB容器托管安全性和文件系统安全性中的授权功能。Spring Security在所有这些重要领域提供了深入的功能,我们将在本参考指南的后面部分进行探讨。
2.2 History:zs
Spring Security在2003年底开始称为春季Acegi安全系统"。Spring Developers的邮件列表上提出了一个问题,询问是否对基于Spring的安全实现给予了任何考虑。当时Spring社区的规模相对较小(特别是与今天的规模相比),而Spring本身的确只是从2003年初开始作为SourceForge项目而存在。对这个问题的回应是它是一个有价值的领域,尽管缺乏的时间目前阻止了它的探索。
考虑到这一点,构建了一个简单的安全实现,而不是发布。 几个星期后,Spring社区的另一位成员询问了安全问题,并在当时向他们提供了这些代码。 接下来还有其他几个要求,到2004年1月,大约有20个人在使用这些代码。这些先锋用户与其他人一起提出了一个建议SourceForge项目是有序的,该项目于2004年3月正式成立。
在那些早期,该项目没有任何自己的认证模块。集装箱安全管理被用于认证过程,而Aceqi Security则专注于授权。这在一开始就很合适,但随着越来越多的用户请求额外的容器支持,容器特定身份验证领域接口的基本限制变得清晰起来。 还有一个相关的问题,即向容器的类路径添加新的JAR,这是最终用户混淆和错误配置的常见原因。
随后引入了Acegi安全特定的认证服务。大约一年后,Aceqi Security成为Spring Framework的正式子项目。2006年5月发布了1.0版的最终版本-经过两年半的积极使用众多生产软件项目以及数百项改进和社区贡献。
Acegi Security于2007年底成为春季投资组合项目,并更名为"春季安全"。
今天,Spring Security拥有一个强大且活跃的开源社区。在支持论坛上有数千条关于Spring Security的消息。有一个积极的核心开发人员从事代码本身的工作,同时也是一个活跃的社区,他们也经常分享补丁和支持他们的同行。
2.3 Release Numbering-:
了解Sping Security发行版的工作原理非常有用,因为它可以帮助您确定迁移到项目未来版本所涉及的工作(或缺乏)。每个版本使用一个标准的整数三元组∶
MAJOR.MNOR.PATCH。 目的是MAJOR版本不兼容,API的大规模升级。MINOR版本应该在很大程度上保留与旧版次版本的源代码和二进制兼容性,认为可能会有一些设计更改和不兼容的更新。PATCH级别应该完全兼容,前后颠倒,可能的例外是修改错误和缺陷的更改。
您受到更改影响的程度取决于您的代码的集成程度。 如果您 正在进行大量定制,则与使用简单名称空间配置相比,您可能会受到更多的影响,
在推出新版本之前,您应该始终彻底测试您的应用程序。
2.4 Getting Spring Security
oang8ourty
你可以通过几种方式获得Spring Security。您可以从主要的hp/spring 下载打包的发行版。io/ spring-security 【Spring Security】页面中,从MavenCentral存储库(或Spring Maven存储库中下载快照和里程碑版本)下载各个jar,或者,您可以自己从源代码构建项目。
2.4.1 Usage with Maven:zAwwse
最小的Spring Secuity Maven依赖关系集通常如下所示∶Pomxm中。
<dependencies> <!-- ... other dependency elements ... --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>5.1.0.M1</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> <version>5.1.0.M1</version> </dependency> </dependencies>
如果您正在使用LDAP,OpenID等附加功能,则还需要包含相应的 Section 2.4.3, “Project Modules” 。
Maven Repositories译
:Maven仓库
所有GA版本(即以.RELEASE结尾的版本)都部署到Maven Central,因此不需要在您的POM中声明额外的Maven存储库。
如果您使用的是SNAPSHOT版本,则需要确保您已经定义了Spring Snapshot存储库,如下所示:
pom.xml中
<repositories> <!-- ... possibly other repository elements ... --> <repository> <id>spring-snapshot</id> <name>Spring Snapshot Repository</name> <url>http://repo.spring.io/snapshot</url> </repository> </repositories>
如果您正在使用里程碑或候选版本,则需要确保您已经定义了Spring Milestone存储库,如下所示:
pom.xml中
<repositories> <!-- ... possibly other repository elements ... --> <repository> <id>spring-milestone</id> <name>Spring Milestone Repository</name> <url>http://repo.spring.io/milestone</url> </repository> </repositories>
Spring Framework Bom 译
: Spring
Spring Security针对Spring Framework 5.0.6.RELEASE构建,但应该与4.0.x一起使用。 许多用户会遇到的问题是,Spring Security的传递依赖性解决了Spring Framework
5.0.6.RELEASE,它可能会导致奇怪的类路径问题。
解决这个问题的一个(单调乏味的)方法是将所有Spring框架模块包含在你的pom的<dependencyManagement>部分。 另一种方法是为包括 spring-framework-bom 你的
内 <dependencyManagement> 您的部分 pom.xml ,如下所示:
pom.xml中
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-framework-bom</artifactId> <version>5.0.6.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
这将确保Spring Security的所有传递依赖使用Spring 5.0.6.RELEASE模块
【下载地址】
百度网盘链接:https://pan.baidu.com/s/1Tn6QozCJKoQD2UlKXy-Z5w
提取码:72p2
相关文章
使用-JFreeChart来创建基于web的图表
XStream使用文档
WebService发布过程及常见问题
webpack实战入门进阶调优分享
weblogic调优参数及监控指标
weblogic节点管理
weblogic管理控制台概述
weblogic-部署和启动
WebLogic-Server-性能及调优-调优-Java-虚拟机
Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。
FlashFXP绿色版网盘下载,附激活教程 1782
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1565
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1623
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1707
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1824
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64