Spring Security版本的格式为MAJOR.MINOR.PATCH
MAJOR versions:可能包含重大更改。 通常这些是为了提供改进的安全性以匹配现代安全实践。MINOR versions:包含增强功能,但被视为被动更新PATCH 级别应该完全兼容,前向和后向,可能的例外是修复错误 1.2 使用MavenSpring Security 支持Maven依赖添加的方式
1.2.1 Spring Boot with Maven如果项目框架是Spring Boot ,则可以使用starter 配置。
pom.xml 添加如下依赖即可:
一般不需要特别指定版本号,如果需要更改版本号在pom.xml 中该节点下配置如下即可:
<properties> <spring-security.version>5.1.5.RELEASE</spring-security.version</dependencies> 1.2.2 Maven 没有使用 Spring Boot在没有Spring Boot的情况下使用Spring Security时,首选方法是利用Spring Security的BOM来确保在整个项目中使用一致的Spring Security版本。
pom.xml
最小的Spring Security Maven依赖项通常如下所示:
<dependencies> <!-- ... other dependency elements ... --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> </dependency></dependencies>Spring Security针对Spring Framework 5.1.6.RELEASE构建,但通常应该与任何较新版本的Spring Framework 5.x一起使用.
许多用户将遇到的问题是Spring Security的传递依赖性解决了Spring Framework 5.1.6.RELEASE,这可能导致 奇怪的类路径问题。
解决此问题的最简单方法是在pom.xml的部分中使用spring-framework-bom,如下所示:
<dependencyManagement> <dependencies> <!-- ... other dependency elements ... --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-framework-bom</artifactId> <version>5.1.6.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies></dependencyManagement>这将确保Spring Security的所有传递依赖项都使用Spring 5.1.6.RELEASE模块
1.2.3 Maven Repositories如果当前使用的是SNAPSHOT 版本,需要配置如下:
<repositories> <!-- ... possibly other repository elements ... --> <repository> <id>spring-snapshot</id> <name>Spring Snapshot Repository</name> <url>https://repo.spring.io/snapshot</url> </repository></repositories>如果正在使用 milestone or release candidate 版本需要配置如下依赖
<repositories> <!-- ... possibly other repository elements ... --> <repository> <id>spring-milestone</id> <name>Spring Milestone Repository</name> <url>https://repo.spring.io/milestone</url> </repository></repositories>