Spring security @Secured всегда нужен префикс ROLE_, как мы можем удалить префикс - PullRequest
0 голосов
/ 26 февраля 2020

Я проверяю роль "XXXXX" в моем контроллере. Но он работает только когда я добавляю префикс "ROLE_".

@Secured("XXXXX") не работает, но когда я добавляю префикс ROLE_, он работает нормально (@Secured("ROLE_XXXXX") работает нормально). Как я могу переопределить эту функцию в моем проекте Spring Boot версии 2?

1 Ответ

0 голосов
/ 26 февраля 2020

Вариант 1. Вы можете использовать @RolesAllowed("role_name") вместо @Secured

. Вам необходимо включить поддержку аннотаций JSR-250, пометив класс @Configuration с помощью @EnableGlobalMethodSecurity(jsr250Enabled=true)

Опции 2 Вы можете использовать @PreAuthorize("hasRole('ROLE_NAME_WITHOUT_ROLE_PREFIX')") вместо @Secured

. Вам потребуется включить поддержку аннотаций PreAuthorize, добавив класс @Configuration с помощью @EnableGlobalMethodSecurity(prePostEnabled=true)

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