Spring教程-Spring Security介绍

介绍
Spring Security 是一个框架,提供各种安全功能,如身份验证、授权,用于创建安全的 Java 企业应用程序。
它是 Spring 框架的一个子项目,于 2003 年由 Ben Alex 开始开发。随后,在 2004 年,它以 Spring Security 2.0.0 的形式发布,遵循 Apache 许可协议。
它解决了在创建非 Spring 安全应用程序时遇到的所有问题,并为应用程序管理新的服务器环境。
框架目标
Spring Security 框架主要针对两个主要领域:身份验证和授权。身份验证是了解和识别希望访问的用户的过程。
授权是允许用户在应用程序中执行操作的过程。
我们可以将授权应用于授权 Web 请求、方法和访问个别域。
支持 Spring Security 集成的技术
Spring Security 框架支持广泛的身份验证模型。这些模型可以由第三方提供,也可以由框架本身提供。Spring Security 支持与所有这些技术的集成。
- HTTP 基本身份验证头
- HTTP 摘要身份验证头
- HTTP X.509 客户端证书交换
- LDAP(轻量级目录访问协议)
- 基于表单的身份验证
- OpenID 身份验证
- 自动记住我身份验证
- Kerberos
- JOSSO(Java 开源单点登录)
- AppFuse
- AndroMDA
- Mule ESB
- DWR(Direct Web Request)
这个框架的美妙之处在于其灵活的身份验证性质,可以与任何软件解决方案集成。有时,开发人员希望将其与不遵循任何安全标准的遗留系统集成,在这种情况下,Spring Security 能够很好地发挥作用。
优势
Spring Security 具有许多优点。以下是其中一些。
- 全面支持身份验证和授权。
- 防护常见任务
- Servlet API 集成
- 与 Spring MVC 集成
- 可移植性
- CSRF 保护
- Java 配置支持
Spring Security 历史
2003 年末,一个名为 Acegi Security System for Spring 的项目开始旨在开发一个基于 Spring 的安全系统。因此,实现了一个简单的安全系统,但并未正式发布。开发人员在其解决方案中内部使用了该代码,到 2004 年左右,大约有 20 名开发人员正在使用该代码。
最初,身份验证模块并不是项目的一部分,大约一年后,该模块被添加,并对整个项目进行了重新配置,以支持更多的技术。
过了一段时间,该项目成为了 Spring 框架的一个子项目,并于 2006 年发布为 1.0.0 版。
2007 年,该项目更名为 Spring Security,并广泛受到接受。目前,它被全球开发人员社区广泛认可和支持。