• 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。

    好,不难吧~

     

  • 相关阅读:
    配置好fastfds和nginx,eclipse用代码上传图片失败
    安装redis集群出错
    解决eclipse打不开
    centos常用命令
    搜索引擎高效搜索
    POJ1067 取石子游戏 威佐夫博弈 博弈论
    伤逝——shoebill关于noip2017的手记
    JZYZOJ1530 [haoi2013]开关控制 状压 dfs 折半搜索
    JZYZOJ1457 [NOIP2016]换教室 期望dp 动态规划 floyd算法 最短路
    JZYZOJ1454 NOIP2015 D2T3_运输计划 二分 差分数组 lca tarjan 树链剖分
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/12985906.html
Copyright © 2020-2023  润新知