Spring Security имеет SimpleGrantedAuthority, но hasRole не работает - PullRequest
0 голосов
/ 30 мая 2018

У меня есть следующий код ...

 private static Collection<? extends GrantedAuthority> 
 readAuthorities(DecodedJWT jwt) {
    ...
    return authorities;
 }

Показывает роль Admin.Однако, когда я пытаюсь получить доступ к сайту по ...

protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();
    http.antMatchers(ADMIN).hasRole(Role.ADMIN.getRoleName())
    ....
}
// Role.ADMIN.getRoleName() == "Admin"

Но когда я захожу на сайт, требующий разрешения администратора, я получаю 403.

Чего мне не хватает?

enter image description here

enter image description here

1 Ответ

0 голосов
/ 19 ноября 2018

Как выясняется, Spring Security автоматически добавляет "ROLE_" к требованиям безопасности ролей для таких вещей, как .hasRole () и @Secured.Таким образом, вы должны добавить «ROLE_» к ролям, когда вы назначаете их пользователям.Если это сбивает с толку, дайте мне знать, и я углублюсь в примеры из моего проекта, я только что работал над этим проектом в течение последних 12 часов и сейчас у меня нет времени.

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