我正在尝试让控制器类上的@PreAuthorized注释与同一类的方法(端点)上的@PreAuthorized注释配合使用。该类的概述如下所示:
目前只考虑方法级别的注释。
理想情况下,只有具有“CLASS_LEVEL_ROLE”和“METHOD_LEVEL_ROLE”角色的用户才能访问bar()。
我知道我可以使用
@PreAuthorized("hasRole('CLASS_LEVEL_ROLE') and hasRole('METHOD_LEVEL_ROLE')")
但是,我有一些控制器,其中所有端点都必须具有相同的'CLASS_LEVEL_ROLE',使用一个通用类注释会更方便。
@RestController
@RequestMapping("/api")
@PreAuthorized("hasRole('CLASS_LEVEL_ROLE')")
public class foo {
@GetMapping("/test")
@PreAuthorized("hasRole('METHOD_LEVEL_ROLE')")
@Timed
public ResponseEntity<String> bar() {
return ResponseEntity.ok().body("entered method successfully");
}
}
目前只考虑方法级别的注释。
理想情况下,只有具有“CLASS_LEVEL_ROLE”和“METHOD_LEVEL_ROLE”角色的用户才能访问bar()。
我知道我可以使用
@PreAuthorized("hasRole('CLASS_LEVEL_ROLE') and hasRole('METHOD_LEVEL_ROLE')")
但是,我有一些控制器,其中所有端点都必须具有相同的'CLASS_LEVEL_ROLE',使用一个通用类注释会更方便。