2017-12-21 12 views
1

私のアプリケーションにはこのメソッドがあり、特定の組織に許可1,2を持つユーザーのみ、このメソッドを実行する権限を与えたいと思います。私はuseridorganizationIdに基づいてチェックする方法hasPermissionをオーバーライドしました。データベースに1,2の権限がありますが、organisationId@PreAuthorizeアノテーションに変数を渡すことはできません。実行時にアノテーションを定義する

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

答えて

1

@PathVariable属性を使用して、メソッドの引数としてごhello()方法にorganisationIdを注入します。 @PreAuthorize表現のには、#という文字がプレフィックスされています(#organisationId)。

詳しくは、documentationセクション15.3.1を参照してください。

関連する問題