授权变更

以下各节内容涉及如何适应授权支持的变更。

方法安全

使用 -parameters 编译

Spring Framework 6.1 移除了 LocalVariableTableParameterNameDiscoverer。这会影响 @PreAuthorize 和其他方法安全注解处理参数名称的方式。如果您在使用带有参数名称的方法安全注解,例如

使用 id 参数名称的方法安全注解
@PreAuthorize("@authz.checkPermission(#id, authentication)")
public void doSomething(Long id) {
    // ...
}

您必须使用 -parameters 选项进行编译,以确保参数名称在运行时可用。有关更多信息,请访问升级到 Spring Framework 6.1 页面