Spring Security和Spring Core 依賴沖突


#概述

本文,我們將介紹如何用Maven配置Spring Security,並介紹Spring Security依賴項的具體用例。大家可以在Maven Central上找到最新的Spring Security版本。

#spring-security-core

Spring Security的核心是——spring-security-core, 它包含認證和訪問權限控制功能。此外,它還支持獨立(非web)應用程序、方法級別注解等功能。

<properties>
    <spring-security.version>5.0.6.RELEASE</spring-security.version>
    <spring.version>5.0.6.RELEASE</spring.version>
</properties>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-core</artifactId>
    <version>${spring-security.version}</version>
</dependency>

注意,Spring和Spring Security的版本發布時間表不同,所以版本號之間並不總是有1:1(5.0.6.RELEASE)的匹配。

例如,現在spring-security-core最新版本是5.3.2.RELEASE。我們可以在maven倉庫找到spring的依賴包。如圖:

#spring-security-web

如果你的Web應用也使用到Spring Security功能,我們也需要spring-security-web依賴包。

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>${spring-security.version}</version>
</dependency>

它包含了過濾器和相關的Web安全基礎設施,可以在Servlet環境中實現URL訪問控制。

#Spring Security和較舊的Spring Core版本依賴問題

它們之間的關系可以在 Maven依賴關系圖中看到。 Spring Security jars不依賴於最新的 Spring Core jars (而是依賴於早期的版本)。在發生版本沖突的情況下,可以通過修改 Spring Security或 Spring Core版本,讓它們互相比配。Spring Core版本可以通過以下修改:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-expression</artifactId>
    <version>${spring-version}</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-web</artifactId>
    <version>${spring-version}</version>
</dependency>

#spring-security-config 和其他依賴包

要使用Spring Security XML命名空間和Java代碼注釋,我們還需要spring-security-config依賴關系包。

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>${spring-security.version}</version>
</dependency>

最后,LDAP、ACL、CAS和OpenID的支持在Spring Security中都有自己的依賴關系:spring-security-ldap、spring-security-acl、spring-security-cas和spring-security-openid。

好,不難吧~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM