【问题标题】:Define anotation at runtime在运行时定义注解
【发布时间】:2018-06-03 23:32:45
【问题描述】:

我的应用程序中有此方法,我想授权仅在特定组织中具有1,2 权限的用户执行此方法。我已经重写了方法hasPermission 来检查基于useridorganizationId 是否他在数据库中有1,2 权限,但我不能在@PreAuthorize 注释中传递变量organisationId

@GetMapping(value="api/v1/oroganisation/{organisationId}")
@PreAuthorize("hasPermission('organisationId','[1,2]')")
public String hello(){ 
    return "Hello";
}

【问题讨论】:

    标签: java spring security spring-security


    【解决方案1】:

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

    请参阅documentation 15.3.1 部分了解完整详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-26
      • 2021-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-12
      • 2011-01-25
      相关资源
      最近更新 更多