Подтвердить что ты не робот

Spring Обозначение безопасности Meta Annotation

Возможно ли построить Meta Annotatations of Spring Безопасность @PreAuthorize как для @Component или @Qualifier?

Я хочу сделать замену @PreAuthorize("hasRole('ADMIN')") ярлыком, например @IsAdmin. Но я не нашел в документации никаких намеков.

4b9b3361

Ответ 1

Это работает как минимум с Spring Security 3.0.2.RELEASE:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasRole('ADMIN')")
public @interface IsAdmin
{
}

Ответ 2

Пример esajs верен:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@PreAuthorize("hasRole('ADMIN')")
public @interface IsAdmin
{
}

однако по какой-то странной недокументированной причине это не будет работать в моем проекте Spring Boot (vr 2.1.2.RELEASE) без proxyTargetClass в конфигурации параметра proxyTargetClass например:

@EnableGlobalMethodSecurity(
    prePostEnabled = true,
    proxyTargetClass = true
)