Как я могу ссылаться на аргументы аннотации в пользовательской аннотации Spring? - PullRequest
1 голос
/ 07 мая 2020

У меня есть 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")

не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...