專案模組和依賴關係

即使您不使用 Maven,我們也建議您查閱 pom.xml 檔案以瞭解第三方依賴項和版本。另一個好方法是檢查示例應用程式中包含的庫。

本節提供 Spring Security 中的模組及其在執行應用程式中發揮作用所需的附加依賴項的參考。我們不包括僅在構建或測試 Spring Security 本身時使用的依賴項。我們也不包括外部依賴項所需的傳遞依賴項。

所需的 Spring 版本列在專案網站上,因此在示例中省略了 Spring 依賴項的具體版本。請注意,示例中列為“可選”的某些依賴項可能仍是 Spring 應用程式中其他非安全功能所需的依賴項。此外,如果“可選”依賴項在大多數應用程式中都使用,則它們可能不會在專案的 Maven POM 檔案中實際標記為“可選”。它們僅在您不使用指定功能時才需要。

如果一個模組依賴於另一個 Spring Security 模組,則它所依賴的模組的非可選依賴項也被假定為必需,並且不會單獨列出。

核心 — spring-security-core.jar

此模組包含核心身份驗證和訪問控制類和介面、遠端支援以及基本配置 API。任何使用 Spring Security 的應用程式都需要它。它支援獨立應用程式、遠端客戶端、方法(服務層)安全性以及 JDBC 使用者配置。它包含以下頂級包:

  • org.springframework.security.core

  • org.springframework.security.access

  • org.springframework.security.authentication

  • org.springframework.security.provisioning

表 1. 核心依賴項
依賴項 版本 描述

ehcache

1.6.2

如果使用基於 Ehcache 的使用者快取實現(可選),則必需。

spring-aop

方法安全性基於 Spring AOP

spring-beans

Spring 配置所需

spring-expression

基於表示式的方法安全性所需(可選)

spring-jdbc

如果使用資料庫儲存使用者資料(可選),則必需。

spring-tx

如果使用資料庫儲存使用者資料(可選),則必需。

aspectjrt

1.6.10

如果使用 AspectJ 支援(可選),則必需。

jsr250-api

1.0

如果您使用 JSR-250 方法安全註解(可選),則必需。

遠端 — spring-security-remoting.jar

此模組提供與 Spring Remoting 的整合。除非您正在編寫使用 Spring Remoting 的遠端客戶端,否則您不需要此模組。主包是 org.springframework.security.remoting

表 2. 遠端依賴項
依賴項 版本 描述

spring-security-core

spring-web

使用 HTTP 遠端支援的客戶端所需。

Web — spring-security-web.jar

此模組包含過濾器和相關的 Web 安全基礎設施程式碼。它包含任何具有 servlet API 依賴項的內容。如果您需要 Spring Security Web 身份驗證服務和基於 URL 的訪問控制,則需要它。主包是 org.springframework.security.web

表 3. Web 依賴項
依賴項 版本 描述

spring-security-core

spring-web

使用 HTTP 遠端支援的客戶端所需。

spring-jdbc

基於 JDBC 的持久“記住我”令牌儲存庫所需(可選)。

spring-tx

“記住我”持久令牌儲存庫實現所需(可選)。

配置 — spring-security-config.jar

此模組包含安全名稱空間解析程式碼和 Java 配置程式碼。如果您使用 Spring Security XML 名稱空間進行配置或 Spring Security 的 Java 配置支援,則需要它。主包是 org.springframework.security.config。這些類均不打算直接在應用程式中使用。

表 4. 配置依賴項
依賴項 版本 描述

spring-security-core

spring-security-web

如果您使用任何與 Web 相關的名稱空間配置(可選),則必需。

spring-security-ldap

如果您使用 LDAP 名稱空間選項(可選),則必需。

aspectjweaver

1.6.10

如果使用 protect-pointcut 名稱空間語法(可選),則必需。

LDAP — spring-security-ldap.jar

此模組提供 LDAP 身份驗證和配置程式碼。如果您需要使用 LDAP 身份驗證或管理 LDAP 使用者條目,則需要它。頂級包是 org.springframework.security.ldap

表 5. LDAP 依賴項
依賴項 版本 描述

spring-security-core

spring-ldap-core

1.3.0

LDAP 支援基於 Spring LDAP。

spring-tx

需要資料異常類。

com.unboundid:unboundid-ldapsdk

如果使用嵌入式 LDAP 伺服器,則必需

ldapsdk

4.1

Mozilla LdapSDK。例如,如果您使用 OpenLDAP 的密碼策略功能,則用於解碼 LDAP 密碼策略控制。

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.core

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.core

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

spring-security-oauth2-jose.jar 包含 Spring Security 對 JOSE (Javascript Object Signing and Encryption) 框架的支援。JOSE 框架旨在提供一種在各方之間安全傳輸宣告的方法。它由以下規範集合構建:

  • JSON Web 令牌 (JWT)

  • JSON Web 簽名 (JWS)

  • JSON Web 加密 (JWE)

  • JSON Web 金鑰 (JWK)

它包含以下頂級包:

  • org.springframework.security.oauth2.jwt

  • org.springframework.security.oauth2.jose

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.resource

ACL — spring-security-acl.jar

此模組包含專門的領域物件 ACL 實現。它用於對應用程式中的特定領域物件例項應用安全性。頂級包是 org.springframework.security.acls

表 6. ACL 依賴項
依賴項 版本 描述

spring-security-core

ehcache

1.6.2

如果使用基於 Ehcache 的 ACL 快取實現(如果您使用自己的實現,則可選),則必需。

spring-jdbc

如果您使用預設的基於 JDBC 的 AclService(如果您實現自己的,則可選),則必需。

spring-tx

如果您使用預設的基於 JDBC 的 AclService(如果您實現自己的,則可選),則必需。

CAS — spring-security-cas.jar

此模組包含 Spring Security 的 CAS 客戶端整合。如果您想將 Spring Security Web 身份驗證與 CAS 單點登入伺服器一起使用,則應使用它。頂級包是 org.springframework.security.cas

表 7. CAS 依賴項
依賴項 版本 描述

spring-security-core

spring-security-web

cas-client-core

3.1.12

JA-SIG CAS 客戶端。這是 Spring Security 整合的基礎。

ehcache

1.6.2

如果您使用基於 Ehcache 的票證快取(可選),則必需。

測試 — spring-security-test.jar

此模組包含對 Spring Security 測試的支援。

標籤庫 — spring-security-taglibs.jar

提供 Spring Security 的 JSP 標籤實現。

表 8. 標籤庫依賴項
依賴項 版本 描述

spring-security-core

spring-security-web

spring-security-acl

如果您將 accesscontrollist 標籤或 hasPermission() 表示式與 ACL 一起使用(可選),則必需。

spring-expression

如果您在標籤訪問約束中使用 SPEL 表示式,則必需。

© . This site is unofficial and not affiliated with VMware.