授权变更

以下部分介绍了如何适应授权支持方面的变化。

方法安全

使用 -parameters 编译

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

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

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