4. Project Modules

在 Spring Security 3.0 中,代码库已细分为单独的 jar,这些 jar 更清楚地将不同的功能区域和第三方依赖项分开。如果您使用 Maven 来构建项目,那么这些模块将添加到pom.xml中。即使您不使用 Maven,我们也建议您查阅pom.xml文件,以了解第三方依赖性和版本。另外,一个好主意是检查示例应用程序中包含的库。

4.1 核心-spring-security-core.jar

包含核心身份验证和访问控制类和接口,远程支持和基本配置 API。使用 Spring Security 的任何应用程序都需要。支持独立的应用程序,远程 Client 端,方法(服务层)安全性和 JDBC 用户配置。包含顶级软件包:

  • org.springframework.security.core

  • org.springframework.security.access

  • org.springframework.security.authentication

  • org.springframework.security.provisioning

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

提供与 Spring Remoting 的集成。除非您正在编写使用 Spring Remoting 的远程 Client 端,否则您不需要这样做。主要包是org.springframework.security.remoting

4.3 网页-spring-security-web.jar

包含过滤器和相关的 Web 安全基础结构代码。任何与 servlet API 依赖的东西。如果您需要 Spring Security Web 认证服务和基于 URL 的访问控制,则将需要它。主要包是org.springframework.security.web

4.4 配置-spring-security-config.jar

包含安全名称空间解析代码和 Java 配置代码。如果您使用 Spring Security XML 名称空间进行配置或 Spring Security 的 Java 配置支持,则需要它。主要包是org.springframework.security.config。这些类都不打算直接在应用程序中使用。

4.5 LDAP-spring-security-ldap.jar

LDAP 身份验证和配置代码。如果您需要使用 LDAP 身份验证或 ManagementLDAP 用户条目,则为必需。顶级软件包是org.springframework.security.ldap

4.6 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 *的应用程序(例如 Client 端,资源服务器和授权服务器)需要它。顶级软件包是org.springframework.security.oauth2.core

4.7 OAuth 2.0Client 端-spring-security-oauth2-client.jar

spring-security-oauth2-client.jar是 Spring Security 对* OAuth 2.0 Authorization Framework OpenID Connect Core 1.0 *的 Client 端支持。利用 OAuth 2.0 登录 和/或 OAuthClient 端支持的应用程序需要。顶级软件包是org.springframework.security.oauth2.client

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

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

  • JSON Web 令牌(JWT)

  • JSON Web 签名(JWS)

  • JSON Web 加密(JWE)

  • JSON Web 密钥(JWK)

它包含顶级软件包:

  • org.springframework.security.oauth2.jwt

  • org.springframework.security.oauth2.jose

4.9 ACL-spring-security-acl.jar

专门的域对象 ACL 实现。用于将安全性应用于应用程序中的特定域对象实例。顶级软件包是org.springframework.security.acls

4.10 CAS-spring-security-cas.jar

Spring Security 的 CASClient 端集成。如果您想将 Spring Security Web 认证与 CAS 单一登录服务器一起使用。顶级软件包是org.springframework.security.cas

4.11 OpenID-spring-security-openid.jar

OpenID Web 身份验证支持。用于根据外部 OpenID 服务器对用户进行身份验证。 org.springframework.security.openid。需要 OpenID4Java。

4.12 测试-spring-security-test.jar

支持使用 Spring Security 进行测试。