授权的变更

本站(springdoc.cn)中的内容来源于 spring.io ,原始版权归属于 spring.io。由 springdoc.cn 进行翻译,整理。可供个人学习、研究,未经许可,不得进行任何转载、商用或与之相关的行为。 商标声明:Spring 是 Pivotal Software, Inc. 在美国以及其他国家的商标。

以下各节将介绍如何适应授权支持的变化。

方法安全

使用 -parameters 进行编译

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

Method security annotation using id parameter name
@PreAuthorize("@authz.checkPermission(#id, authentication)")
public void doSomething(Long id) {
    // ...
}

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