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 进行测试。