我在我的应用程序中有这个方法,我想授权只在特定组织中具有permssions 1,2
的用户执行此方法。我有覆盖方法hasPermission
基于userid
和organizationId
检查,如果他在数据库中有1,2
权限,但我无法在organisationId
注释中传递变量@PreAuthorize
。
@GetMapping(value="api/v1/oroganisation/{organisationId}")
@PreAuthorize("hasPermission('organisationId','[1,2]')")
public String hello(){
return "Hello";
}
使用organisationId
属性将hello()
作为方法参数注入@PathVariable
方法。然后,您可以在organisationId
表达式中引用@PreAuthorize
,前缀为#
字符,即#organisationId
。
有关详细信息,请参阅documentation第15.3.1节。