Какова цель AuthenticationManagerBuilder на сервере ресурсов Oauth2 - PullRequest
0 голосов
/ 02 ноября 2018

Итак, у меня есть это приложение, которое разрешает доступ к его ресурсу только при наличии действительного oauth-токена. У меня уже есть класс @EnableResourceServer, который обрабатывает доступ на основе ролей к различным конечным точкам. Но какова цель блока кода ниже? Мое приложение не запустится, если я не добавлю этот общий блок с некоторым общим именем пользователя / паролем. Пользователь / роль / пароль здесь никак не влияет на доступ к ресурсу. Пока роль в маркере oauth совпадает с ролью, указанной в @EnableResourcesServer, вызывающая сторона будет получать правильный ответ из приложения.

@EnableWebSecurity(debug = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
...
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception 
    {
        auth.inMemoryAuthentication() // creating user in memory
                .withUser("user")
                .password("password").roles("USER")
                .and().withUser("admin")
                .password("password").authorities("ROLE_ADMIN");
    }
}

1 Ответ

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

Я обнаружил проблему, потому что я разделил доступ к ресурсам на 2 класса: @EnableResourceServer и @EnableWebsecurity. Эта проблема решается после удаления класса @EnableWebSecurity и перемещения всех элементов управления доступом в @ EnableResourceServer.

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