在运行时定义注释

问题描述 投票:1回答:1

我在我的应用程序中有这个方法,我想授权只在特定组织中具有permssions 1,2的用户执行此方法。我有覆盖方法hasPermission基于useridorganizationId检查,如果他在数据库中有1,2权限,但我无法在organisationId注释中传递变量@PreAuthorize

@GetMapping(value="api/v1/oroganisation/{organisationId}")
@PreAuthorize("hasPermission('organisationId','[1,2]')")
public String hello(){ 
    return "Hello";
}
java spring security spring-security
1个回答
1
投票

使用organisationId属性将hello()作为方法参数注入@PathVariable方法。然后,您可以在organisationId表达式中引用@PreAuthorize,前缀为#字符,即#organisationId

有关详细信息,请参阅documentation第15.3.1节。

© www.soinside.com 2019 - 2024. All rights reserved.