授权更改

以下部分介绍如何适应授权支持中的更改。

方法安全

使用 -parameters 编译

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

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

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