我正在使用 Spring Framework v4.3.12 和 Spring Security v4.2.3 的项目中工作。
升级到最新补丁程序版本安全吗?
如果我不了解,我会说从语义版本控制的角度来看应该不是问题。从理论上讲。 但是,我将门户解决方案升级到下一个补丁版本,但是整个应用程序崩溃了。
答案 0 :(得分:1)
补丁程序版本兼容,请参见Spring Security Reference:
2.3版本编号
了解Spring Security发行版编号的工作方式很有用,因为它将帮助您确定迁移到项目的将来发行版中所涉及的工作(或缺乏工作量)。每个发行版都使用标准的整数三元组:MAJOR.MINOR.PATCH。目的是MAJOR版本是不兼容的API的大规模升级。 MINOR版本应该在很大程度上保留与较早的次要版本的源代码和二进制兼容性,以为可能会有一些设计更改和不兼容的更新。 PATCH级别应该是完全兼容的,向前和向后兼容,并且可能存在修改错误和缺陷的更改除外。
您受更改影响的程度将取决于代码的紧密集成程度。如果您要进行大量的自定义操作,则比使用简单的名称空间配置更容易受到影响。
在推出新版本之前,应始终对应用程序进行全面测试。
要处理您的Spring Framework依赖性,可以使用Spring Framework BOM,请参阅Spring Security Reference:
Spring Framework Bom
Spring Security是基于Spring Framework 4.3.9.RELEASE构建的,但应与4.0.x一起使用。许多用户会遇到的问题是Spring Security的可传递依赖项解决了Spring Framework 4.3.9.RELEASE,这可能会导致奇怪的类路径问题。
一种避免此问题的(乏味的)方法是将所有Spring Framework模块包括在pom的一部分中。另一种方法是将
spring-framework-bom
放在<dependencyManagement>
的{{1}}部分中,如下所示:pom.xml。
pom.xml
这将确保Spring Security的所有传递依赖项都使用Spring 4.3.9.RELEASE模块。