即使您不使用 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中文文档