Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Security添加多个元注释_Java_Spring_Spring Security - Fatal编程技术网

Java Spring Security添加多个元注释

Java Spring Security添加多个元注释,java,spring,spring-security,Java,Spring,Spring Security,我创建了一个SpringBoot2.3应用程序。我保护了我的REST端点和服务 我创建了一些元注释,因为我有很多角色。例如: @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @PreAuthorize("hasAnyRole('ROLE_CUSTOMER')") public @interface IsCustomerUser { } 及 我有几个元注释和许多其他角色。我想我

我创建了一个SpringBoot2.3应用程序。我保护了我的REST端点和服务

我创建了一些元注释,因为我有很多角色。例如:

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasAnyRole('ROLE_CUSTOMER')")
public @interface IsCustomerUser {
}

我有几个元注释和许多其他角色。我想我可以在端点上添加多个元注释,如下所示:

@IsCustomerUser
@IsApiUser
@GetMapping(path = "/tenants/current/avatar/{version}")
public ResponseEntity<?> getAvatar(@PathVariable("version") long version) {
    //TODO some stuff
@IsCustomerUser
@伊萨皮乌斯
@GetMapping(path=“/tenants/current/avatar/{version}”)
公共响应性getAvatar(@PathVariable(“版本”)长版本){
//做点什么
}

但似乎只有一个注释被评估。我看到有一个功能请求。我想知道您是否有一些变通方法来添加多个元注释。 被迫创建我的基本安全注释的所有排列是非常烦人的。 事实上,我应该创建类似于
@isAdminorCustomerRapiormanageror….
的东西,但这并不方便

@IsCustomerUser
@IsApiUser
@GetMapping(path = "/tenants/current/avatar/{version}")
public ResponseEntity<?> getAvatar(@PathVariable("version") long version) {
    //TODO some stuff