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。

    好,不难吧~

     

  • 相关阅读:
    Beta版本冲刺第二天 12.6
    Beta版本冲刺第一天 12.5
    Linux学习(2)—— 图形化界面
    Linux学习(1)—— 虚拟机安装Linux系统
    IntelliJ IDEA使用
    spring+springmvc+hibernate 整合
    新的篇章
    软件工程实践总结作业——个人作业
    Beta版本冲刺———第七天
    Beta版本冲刺———第六天
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/12985906.html
Copyright © 2011-2022 走看看