Я хочу создать пользовательскую аннотацию Allows
, которая содержит @PreAuthorize
и имеет массив разрешенных ролей.
Лучше всего будет выглядеть так:
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("@accessService.isAllowed(#values, authentication.principal)")
public @interface Allows {
String[] values() default {};
}
К сожалению, я не могу использовать пружинный метод, поскольку у приложения есть два разных набора ролей, один для аутентификации, а другой для авторизации.
Есть ли способ передать массив ролей, подобный этому, @PreAuthorize
SPeL?