zoukankan      html  css  js  c++  java
  • 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。

    好,不难吧~

     

  • 相关阅读:
    spring相关记录
    xshell不能连接VM中的ubuntu
    MySQL 获得当前日期时间(以及时间的转换)
    struts2 action获取ajax提交数据中文乱码问题
    Write operations are not allowed in read-only mode (FlushMode.NEVER/
    在Action中以Struts2的方式输出JSON数据
    javascript 对象数组排序
    期待2015
    Mysql 导出数据库和指定表中的数据
    Ajax跨域问题
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/12985906.html
Copyright © 2011-2022 走看看