У меня есть abstract
class
с методами, требующими определенных разрешений. Я бы хотел, чтобы реализующие классы могли требовать дополнительные разрешения, но при этом требовать разрешения от абстрактного класса. Простое добавление еще одной аннотации @PreAuthorize
, кажется, отменяет все, что требовалось в абстрактном классе, поэтому моя идея заключалась в том, чтобы реализовать мою собственную аннотацию.
Мой вопрос: как мне ссылаться на аргументы в @PreAuthorize
аннотация?
Этот код:
// Custom annotation
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasRole('BASE_PERMISSION') and hasRole('#role')")
public @interface MyCustomPreAuthorize {
String role() default "";
}
// Implementing class
@MyCustomPreAuthorize(role = "ANOTHER_ROLE")
не работает.