我的用例:
我将以@PreAuthorize
的形式有很多@PreAuthorize("hasAuthority('RESPECT_MY_AUTHORITY')")
注释。
我想创建一个将权限作为值的元注释@HasAuthority
,并将其传递给@PreAuthorize("hasAuthority(<value>)")
。
感觉不可能。我最接近所需的是@AliasFor
注释。但问题是我无法在@HasAuthority
中添加任何值。因此,我每次必须重复hasAuthority部分。
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasAuthority('RESPECT_MY_AUTHORITY')")
public @interface HasAuthority {
@AliasFor(annotation = PreAuthorize.class, attribute = "value")
String value();
}
我想要类似的东西
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasAuthority(#value)")
public @interface HasAuthority {
String value();
}
有什么想法我怎么做,或者有可能吗?