项目模块和依赖项

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

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

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

如果一个模块依赖于另一个 Spring Security 模块,则它所依赖的模块的非可选依赖项也被假定为必需的,并且不会单独列出。spring-doc.cn

核心 —spring-security-core.jar

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

表 1.核心依赖项
Dependency 版本 描述

ehcachespring-doc.cn

1.6.2spring-doc.cn

如果使用基于 Ehcache 的用户缓存实现,则为 required(可选)。spring-doc.cn

spring-aopspring-doc.cn

方法安全性基于 Spring AOPspring-doc.cn

spring-beansspring-doc.cn

Spring 配置需要spring-doc.cn

spring-expressionspring-doc.cn

对于基于表达式的方法安全性是必需的(可选)spring-doc.cn

spring-jdbcspring-doc.cn

如果使用数据库存储用户数据,则为必需(可选)。spring-doc.cn

spring-txspring-doc.cn

如果使用数据库存储用户数据,则为必需(可选)。spring-doc.cn

aspectjrtspring-doc.cn

1.6.10spring-doc.cn

如果使用 AspectJ 支持(可选),则是必需的。spring-doc.cn

jsr250-apispring-doc.cn

1.0spring-doc.cn

如果您使用的是 JSR-250 方法安全注释(可选),则是必需的。spring-doc.cn

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

该模块提供与 Spring Remoting 的集成。 除非你正在编写使用 Spring Remoting 的远程客户端,否则你不需要它。 主包是 。org.springframework.security.remotingspring-doc.cn

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

spring-security-corespring-doc.cn

spring-webspring-doc.cn

对于使用 HTTP 远程处理支持的客户端是必需的。spring-doc.cn

网页 —spring-security-web.jar

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

表 3.Web 依赖项
Dependency 版本 描述

spring-security-corespring-doc.cn

spring-webspring-doc.cn

对于使用 HTTP 远程处理支持的客户端是必需的。spring-doc.cn

spring-jdbcspring-doc.cn

对于基于 JDBC 的持久性 remember-me 令牌存储库是必需的(可选)。spring-doc.cn

spring-txspring-doc.cn

remember-me 持久性令牌存储库实现需要(可选)。spring-doc.cn

配置 —spring-security-config.jar

该模块包含安全名称空间解析代码和 Java 配置代码。 如果您使用 Spring Security XML 名称空间进行配置或 Spring Security 的 Java 配置支持,则需要它。 主包是 。 这些类都不是为了在应用程序中直接使用而设计的。org.springframework.security.configspring-doc.cn

表 4.配置依赖项
Dependency 版本 描述

spring-security-corespring-doc.cn

spring-security-webspring-doc.cn

如果您使用的是任何与 Web 相关的命名空间配置(可选),则为必需。spring-doc.cn

spring-security-ldapspring-doc.cn

如果您使用的是 LDAP 命名空间选项(可选),则为必需。spring-doc.cn

aspectjweaverspring-doc.cn

1.6.10spring-doc.cn

如果使用 protect-pointcut 命名空间语法,则为必需(可选)。spring-doc.cn

LDAP —spring-security-ldap.jar

此模块提供 LDAP 身份验证和供应代码。 如果您需要使用 LDAP 验证或管理 LDAP 用户条目,则需要此项。 顶级软件包是 .org.springframework.security.ldapspring-doc.cn

表 5.LDAP 依赖项
Dependency 版本 描述

spring-security-corespring-doc.cn

spring-ldap-corespring-doc.cn

1.3.0spring-doc.cn

LDAP 支持基于 Spring LDAP。spring-doc.cn

spring-txspring-doc.cn

数据异常类是必需的。spring-doc.cn

apache-dsspring-doc.cn

1.5.5spring-doc.cn

如果您使用的是嵌入式 LDAP 服务器,则为必需(可选)。如果使用 、 、 、 和 模块是必需的。apache-dsapacheds-coreapacheds-core-entryapacheds-protocol-sharedapacheds-protocol-ldapapacheds-server-jndispring-doc.cn

shared-ldapspring-doc.cn

0.9.15spring-doc.cn

如果您使用的是嵌入式 LDAP 服务器,则为必需(可选)。spring-doc.cn

ldapsdkspring-doc.cn

4.1spring-doc.cn

Mozilla LdapSDK 的 LdapSDK 中。 例如,如果将 password-policy 功能与 OpenLDAP 一起使用,则用于解码 LDAP 口令策略控件。spring-doc.cn

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-doc.cn

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-doc.cn

OAuth 2.0 JOSE —spring-security-oauth2-jose.jar

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

它包含以下顶级软件包:spring-doc.cn

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

spring-security-oauth2-resource-server.jar包含 Spring Security 对 OAuth 2.0 资源服务器的支持。 它用于使用 OAuth 2.0 Bearer Tokens 保护 API。 顶级软件包是 .org.springframework.security.oauth2.server.resourcespring-doc.cn

ACL —spring-security-acl.jar

此模块包含专用的域对象 ACL 实现。 它用于将安全性应用于应用程序中的特定域对象实例。 顶级软件包是 .org.springframework.security.aclsspring-doc.cn

表 6.ACL 依赖项
Dependency 版本 描述

spring-security-corespring-doc.cn

ehcachespring-doc.cn

1.6.2spring-doc.cn

如果使用基于 Ehcache 的 ACL 缓存实现,则为必需(如果您使用自己的实现,则为可选)。spring-doc.cn

spring-jdbcspring-doc.cn

如果您使用的是基于 JDBC 的默认 AclService,则为必需(如果您实现自己的 AclService,则为可选)。spring-doc.cn

spring-txspring-doc.cn

如果您使用的是基于 JDBC 的默认 AclService,则为必需(如果您实现自己的 AclService,则为可选)。spring-doc.cn

CAS —spring-security-cas.jar

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

表 7.CAS 依赖项
Dependency 版本 描述

spring-security-corespring-doc.cn

spring-security-webspring-doc.cn

cas-client-corespring-doc.cn

3.1.12spring-doc.cn

JA-SIG CAS 客户端。 这是 Spring Security 集成的基础。spring-doc.cn

ehcachespring-doc.cn

1.6.2spring-doc.cn

如果您使用的是基于 Ehcache 的ticket缓存(可选),则为必需。spring-doc.cn

测试 —spring-security-test.jar

该模块包含对使用 Spring Security 进行测试的支持。spring-doc.cn

Taglibs —spring-security-taglibs.jar

提供 Spring Security 的 JSP 标记实现。spring-doc.cn

表 8.Taglib 依赖项
Dependency 版本 描述

spring-security-corespring-doc.cn

spring-security-webspring-doc.cn

spring-security-ACLspring-doc.cn

如果您将标签或表达式与 ACL 一起使用,则为必需(可选)。accesscontrollisthasPermission()spring-doc.cn

spring-expressionspring-doc.cn

如果您在标签访问约束中使用 SPEL 表达式,则为必需。spring-doc.cn