对于最新的稳定版本,请使用 Spring Security 6.3.1Spring中文文档

对于最新的稳定版本,请使用 Spring Security 6.3.1Spring中文文档

即使您不使用 Maven,我们也建议您查阅文件以了解第三方依赖项和版本。 另一个好主意是检查示例应用程序中包含的库。pom.xmlSpring中文文档

本节提供了 Spring Security 中模块的参考,以及它们在正在运行的应用程序中运行所需的其他依赖项。 我们不包括仅在构建或测试 Spring Security 本身时使用的依赖项。 我们也不包括外部依赖项所需的传递依赖项。Spring中文文档

所需的 Spring 版本列在项目网站上,因此示例中省略了 Spring 依赖项的特定版本。 请注意,示例中列为“可选”的某些依赖项可能仍是 Spring 应用程序中其他非安全功能所必需的 此外,如果在大多数应用程序中使用列为“可选”的依赖项,则它们实际上可能不会在项目的 Maven POM 文件中标记为“可选”。 它们是“可选的”,除非您使用指定的功能,否则您不需要它们。Spring中文文档

如果一个模块依赖于另一个Spring Security模块,则它所依赖的模块的非可选依赖项也被认为是必需的,并且不会单独列出。Spring中文文档

核心 —spring-security-core.jar

此模块包含核心身份验证和访问控制类和接口、远程处理支持和基本预配 API。 任何使用 Spring Security 的应用程序都需要它。 它支持独立应用程序、远程客户端、方法(服务层)安全性和 JDBC 用户配置。 它包含以下顶级包:Spring中文文档

表 1.核心依赖关系
屬地 版本 描述

ehcacheSpring中文文档

1.6.2Spring中文文档

如果使用基于 Ehcache 的用户缓存实现,则为必填项(可选)。Spring中文文档

弹簧-AOPSpring中文文档

方法安全性基于 Spring AOPSpring中文文档

春豆Spring中文文档

Spring 配置是必需的Spring中文文档

弹簧表达式Spring中文文档

基于表达式的方法安全性是必需的(可选)Spring中文文档

弹簧-JDBCSpring中文文档

如果使用数据库存储用户数据(可选),则为必需。Spring中文文档

Spring-TXSpring中文文档

如果使用数据库存储用户数据(可选),则为必需。Spring中文文档

aspectjrtSpring中文文档

1.6.10Spring中文文档

如果使用 AspectJ 支持(可选),则为必需。Spring中文文档

JSR250-API接口Spring中文文档

1.0Spring中文文档

如果您使用的是 JSR-250 方法安全注释(可选),则为必需。Spring中文文档

表 1.核心依赖关系
屬地 版本 描述

ehcacheSpring中文文档

1.6.2Spring中文文档

如果使用基于 Ehcache 的用户缓存实现,则为必填项(可选)。Spring中文文档

弹簧-AOPSpring中文文档

方法安全性基于 Spring AOPSpring中文文档

春豆Spring中文文档

Spring 配置是必需的Spring中文文档

弹簧表达式Spring中文文档

基于表达式的方法安全性是必需的(可选)Spring中文文档

弹簧-JDBCSpring中文文档

如果使用数据库存储用户数据(可选),则为必需。Spring中文文档

Spring-TXSpring中文文档

如果使用数据库存储用户数据(可选),则为必需。Spring中文文档

aspectjrtSpring中文文档

1.6.10Spring中文文档

如果使用 AspectJ 支持(可选),则为必需。Spring中文文档

JSR250-API接口Spring中文文档

1.0Spring中文文档

如果您使用的是 JSR-250 方法安全注释(可选),则为必需。Spring中文文档

远程处理 —spring-security-remoting.jar

该模块提供与 Spring Remoting 的集成。 除非您正在编写使用 Spring Remoting 的远程客户端,否则您不需要这样做。 主要软件包是 .org.springframework.security.remotingSpring中文文档

表 2.远程处理依赖项
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

弹簧网Spring中文文档

对于使用 HTTP 远程处理支持的客户端是必需的。Spring中文文档

表 2.远程处理依赖项
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

弹簧网Spring中文文档

对于使用 HTTP 远程处理支持的客户端是必需的。Spring中文文档

网络 —spring-security-web.jar

此模块包含过滤器和相关的 Web 安全基础结构代码。 它包含具有 servlet API 依赖项的任何内容。 如果您需要 Spring Security Web 身份验证服务和基于 URL 的访问控制,则需要它。 主要软件包是 .org.springframework.security.webSpring中文文档

表 3.Web 依赖关系
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

弹簧网Spring中文文档

对于使用 HTTP 远程处理支持的客户端是必需的。Spring中文文档

弹簧-JDBCSpring中文文档

对于基于 JDBC 的持久性记住我令牌存储库(可选)是必需的。Spring中文文档

Spring-TXSpring中文文档

remember-me 持久令牌存储库实现(可选)需要。Spring中文文档

表 3.Web 依赖关系
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

弹簧网Spring中文文档

对于使用 HTTP 远程处理支持的客户端是必需的。Spring中文文档

弹簧-JDBCSpring中文文档

对于基于 JDBC 的持久性记住我令牌存储库(可选)是必需的。Spring中文文档

Spring-TXSpring中文文档

remember-me 持久令牌存储库实现(可选)需要。Spring中文文档

配置 —spring-security-config.jar

此模块包含安全命名空间解析代码和 Java 配置代码。 如果您使用 Spring Security XML 命名空间进行配置或使用 Spring Security 的 Java 配置支持,则需要它。 主要软件包是 . 这些类都不能直接在应用程序中使用。org.springframework.security.configSpring中文文档

表 4.配置依赖关系
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

spring-安全-webSpring中文文档

如果使用任何与 Web 相关的命名空间配置(可选),则为必填项。Spring中文文档

spring-security-ldapSpring中文文档

如果使用 LDAP 命名空间选项(可选),则为必填项。Spring中文文档

aspectjweaverSpring中文文档

1.6.10Spring中文文档

如果使用 protect-pointcut 命名空间语法(可选),则为必需。Spring中文文档

表 4.配置依赖关系
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

spring-安全-webSpring中文文档

如果使用任何与 Web 相关的命名空间配置(可选),则为必填项。Spring中文文档

spring-security-ldapSpring中文文档

如果使用 LDAP 命名空间选项(可选),则为必填项。Spring中文文档

aspectjweaverSpring中文文档

1.6.10Spring中文文档

如果使用 protect-pointcut 命名空间语法(可选),则为必需。Spring中文文档

LDAP —spring-security-ldap.jar

此模块提供 LDAP 身份验证和配置代码。 如果您需要使用 LDAP 身份验证或管理 LDAP 用户条目,则需要它。 顶级包是 。org.springframework.security.ldapSpring中文文档

表 5.LDAP 依赖关系
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

spring-ldap-核心Spring中文文档

1.3.0Spring中文文档

LDAP 支持基于 Spring LDAP。Spring中文文档

Spring-TXSpring中文文档

数据异常类是必需的。Spring中文文档

阿帕奇-DSSpring中文文档

1.5.5Spring中文文档

如果您使用的是嵌入式 LDAP 服务器(可选),则为必填项。如果使用 ,则 、 、 和 模块是必需的。apache-dsapacheds-coreapacheds-core-entryapacheds-protocol-sharedapacheds-protocol-ldapapacheds-server-jndiSpring中文文档

共享 LDAPSpring中文文档

0.9.15Spring中文文档

如果您使用的是嵌入式 LDAP 服务器(可选),则为必填项。Spring中文文档

ldapsdkSpring中文文档

4.1Spring中文文档

Mozilla LdapSDK。 例如,用于解码 LDAP 密码策略控制(如果将密码策略功能与 OpenLDAP 一起使用)。Spring中文文档

表 5.LDAP 依赖关系
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

spring-ldap-核心Spring中文文档

1.3.0Spring中文文档

LDAP 支持基于 Spring LDAP。Spring中文文档

Spring-TXSpring中文文档

数据异常类是必需的。Spring中文文档

阿帕奇-DSSpring中文文档

1.5.5Spring中文文档

如果您使用的是嵌入式 LDAP 服务器(可选),则为必填项。如果使用 ,则 、 、 和 模块是必需的。apache-dsapacheds-coreapacheds-core-entryapacheds-protocol-sharedapacheds-protocol-ldapapacheds-server-jndiSpring中文文档

共享 LDAPSpring中文文档

0.9.15Spring中文文档

如果您使用的是嵌入式 LDAP 服务器(可选),则为必填项。Spring中文文档

ldapsdkSpring中文文档

4.1Spring中文文档

Mozilla LdapSDK。 例如,用于解码 LDAP 密码策略控制(如果将密码策略功能与 OpenLDAP 一起使用)。Spring中文文档

OAuth 2.0 核心 —spring-security-oauth2-core.jar

spring-security-oauth2-core.jar包含为 OAuth 2.0 授权框架和 OpenID Connect Core 1.0 提供支持的核心类和接口。 使用 OAuth 2.0 或 OpenID Connect Core 1.0 的应用程序(如客户端、资源服务器和授权服务器)需要它。 顶级包是 。org.springframework.security.oauth2.coreSpring中文文档

OAuth 2.0 客户端 —spring-security-oauth2-client.jar

spring-security-oauth2-client.jar包含 Spring Security 对 OAuth 2.0 授权框架和 OpenID Connect Core 1.0 的客户端支持。 使用 OAuth 2.0 或 OpenID Connect Core 1.0 的应用程序(如客户端、资源服务器和授权服务器)需要它。 顶级包是 。org.springframework.security.oauth2.coreSpring中文文档

OAuth 2.0 何塞 —spring-security-oauth2-jose.jar

spring-security-oauth2-jose.jar包含 Spring Security 对 JOSE(Javascript 对象签名和加密)框架的支持。 JOSE 框架旨在提供一种在各方之间安全地转移索赔的方法。 它由一系列规范构建而成:Spring中文文档

它包含以下顶级包:Spring中文文档

OAuth 2.0 资源服务器 —spring-security-oauth2-resource-server.jar

spring-security-oauth2-resource-server.jar包含 Spring Security 对 OAuth 2.0 资源服务器的支持。 它用于使用 OAuth 2.0 持有者令牌来保护 API。 顶级包是 。org.springframework.security.oauth2.server.resourceSpring中文文档

ACL —spring-security-acl.jar

此模块包含专用的域对象 ACL 实现。 它用于将安全性应用于应用程序中的特定域对象实例。 顶级包是 。org.springframework.security.aclsSpring中文文档

表 6.ACL 依赖关系
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

ehcacheSpring中文文档

1.6.2Spring中文文档

如果使用基于 Ehcache 的 ACL 缓存实现,则为必填项(如果您使用自己的实现,则为可选)。Spring中文文档

弹簧-JDBCSpring中文文档

如果使用的是基于 JDBC 的缺省 AclService,则为必填项(如果实现自己的 AclService,则为可选)。Spring中文文档

Spring-TXSpring中文文档

如果使用的是基于 JDBC 的缺省 AclService,则为必填项(如果实现自己的 AclService,则为可选)。Spring中文文档

表 6.ACL 依赖关系
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

ehcacheSpring中文文档

1.6.2Spring中文文档

如果使用基于 Ehcache 的 ACL 缓存实现,则为必填项(如果您使用自己的实现,则为可选)。Spring中文文档

弹簧-JDBCSpring中文文档

如果使用的是基于 JDBC 的缺省 AclService,则为必填项(如果实现自己的 AclService,则为可选)。Spring中文文档

Spring-TXSpring中文文档

如果使用的是基于 JDBC 的缺省 AclService,则为必填项(如果实现自己的 AclService,则为可选)。Spring中文文档

中科院 —spring-security-cas.jar

该模块包含 Spring Security 的 CAS 客户端集成。 如果要将 Spring Security Web 身份验证与 CAS 单点登录服务器一起使用,则应使用它。 顶级包是 。org.springframework.security.casSpring中文文档

表 7.CAS 依赖项
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

spring-安全-webSpring中文文档

cas-client-coreSpring中文文档

3.1.12Spring中文文档

JA-SIG CAS 客户端。 这是 Spring Security 集成的基础。Spring中文文档

ehcacheSpring中文文档

1.6.2Spring中文文档

如果您使用的是基于 Ehcache 的票证缓存(可选),则为必填项。Spring中文文档

表 7.CAS 依赖项
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

spring-安全-webSpring中文文档

cas-client-coreSpring中文文档

3.1.12Spring中文文档

JA-SIG CAS 客户端。 这是 Spring Security 集成的基础。Spring中文文档

ehcacheSpring中文文档

1.6.2Spring中文文档

如果您使用的是基于 Ehcache 的票证缓存(可选),则为必填项。Spring中文文档

测试 —spring-security-test.jar

此模块包含对使用 Spring Security 进行测试的支持。Spring中文文档

标签 —spring-security-taglibs.jar

提供 Spring Security 的 JSP 标记实现。Spring中文文档

表 8.Taglib 依赖项
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

spring-安全-webSpring中文文档

spring-security-ACLSpring中文文档

如果将标记或表达式与 ACL 一起使用(可选),则为必需。accesscontrollisthasPermission()Spring中文文档

弹簧表达式Spring中文文档

如果您在标签访问约束中使用 SPEL 表达式,则为必填项。Spring中文文档

表 8.Taglib 依赖项
屬地 版本 描述

spring-security-core(弹簧安全核心)Spring中文文档

spring-安全-webSpring中文文档

spring-security-ACLSpring中文文档

如果将标记或表达式与 ACL 一起使用(可选),则为必需。accesscontrollisthasPermission()Spring中文文档

弹簧表达式Spring中文文档

如果您在标签访问约束中使用 SPEL 表达式,则为必填项。Spring中文文档