Spring 项目模块

2024 年 8 月 29 日 | 阅读 3 分钟

在 Spring Security 3.0 中,Security 模块被划分为独立的 jar 文件。这样做的目的是根据功能划分 jar 文件,以便开发人员可以根据他们的需求进行集成。

它还有助于在 maven 项目的 pom.xml 文件中设置所需的依赖项。

以下是 Spring Security 模块中包含的 jar 文件。

  • spring-security-core.jar
  • spring-security-remoting.jar
  • spring-security-web.jar
  • spring-security-config.jar
  • spring-security-ldap.jar
  • spring-security-oauth2-core.jar
  • spring-security-oauth2-client.jar
  • spring-security-oauth2-jose.jar
  • spring-security-acl.jar
  • spring-security-cas.jar
  • spring-security-openid.jar
  • spring-security-test.jar

核心 - spring-security-core.jar

这是核心 jar 文件,任何想要使用 Spring Security 的应用程序都需要它。此 jar 文件包含核心访问控制和核心身份验证类和接口。我们可以在独立应用程序或远程客户端应用程序中使用它。

它包含顶级包

  • org.springframework.security.core
  • org.springframework.security.access
  • org.springframework.security.authentication
  • org.springframework.security.provisioning

Remoting - spring-security-remoting.jar

此 jar 用于将安全功能集成到 Spring 远程应用程序中。除非我们正在创建远程应用程序,否则我们不需要它。所有类和接口都位于 org.springframework.security.remoting 包中。

Web - spring-security-web.jar

此 jar 对于 Spring Security Web 身份验证和基于 URL 的访问控制非常有用。它包括过滤器和 Web 安全基础架构。

所有类和接口都位于 org.springframework.security.web 包中。

配置 - spring-security-config.jar

使用 XML 和 Java 进行 Spring Security 配置都需要此 jar 文件。它包括 Java 配置代码和安全命名空间解析代码。所有类和接口都存储在 org.springframework.security.config 包中。

LDAP - spring-security-ldap.jar

仅当我们想要使用 LDAP(轻量级目录访问协议)时才需要此 jar 文件。它包括身份验证和配置代码。所有类和接口都存储在 org.springframework.security.ldap 包中。

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

需要此 jar 才能将 Oauth 2.0 授权框架和 OpenID Connect Core 1.0 集成到应用程序中。此 jar 文件包含 OAuth 2.0 的核心类,这些类存储在 org.springframework.security.oauth2.core 包中。

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

需要此 jar 文件才能获得对 OAuth 2.0 授权框架和 OpenID Connect Core 1.0 的客户端支持。此模块提供 OAuth 登录和 OpenID 客户端支持。所有类和接口都来自 org.springframework.security.oauth2.client 包。

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

它提供 Spring Security 对 JOSE(Javascript 对象签名和加密)框架的支持。 JOSE 框架提供了在客户端之间建立安全连接的方法。它包含以下规范集合

  • JWT (JSON Web Token)
  • JWS (JSON Web Signature)
  • JWE (JSON Web Encryption)
  • JWK (JSON Web Key)

所有类和接口都可以在以下两个包中找到

org.springframework.security.oauth2.jwtorg.springframework.security.oauth2.jose.

ACL - spring-security-acl.jar

此 jar 用于将安全性应用于应用程序中的域对象。我们可以从 org.springframework.security.acls 包访问类和代码。

CAS - spring-security-cas.jar

Spring Security 的 CAS 客户端集成需要它。我们可以使用它将 Spring Security Web 身份验证与 CAS 单点登录服务器集成。源代码位于 org.springframework.security.cas 包中。

OpenID - spring-security-openid.jar

此 jar 用于 OpenID Web 身份验证支持。我们可以使用它针对外部 OpenID 服务器验证用户身份。它需要 OpenID4Java,顶级包是 org.springframework.security.openid

测试 - spring-security-test.jar

此 jar 提供对 Spring Security 应用程序进行测试的支持。