Я получаю ответ «Требуется полная аутентификация для доступа к этому ресурсу» из настроек безопасности при загрузке Spring - PullRequest
0 голосов
/ 27 апреля 2019

Я создаю простой тип предоставления пароля с помощью сервера авторизации в памяти для демонстрационной цели, а затем для интеграции с моим существующим веб-приложением.

Не уверен, что мне не хватает какой-либо конфигурации.

Также пробовал с URL-адресом base64, данными формы и другими параметрами, но по-прежнему получал тот же ответ от сервера.

Базовая безопасность при весенней загрузке отключена с management.security.enabled = false

Сервер авторизации

@Configuration
@EnableAuthorizationServer
@EnableAutoConfiguration

public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {
    @Autowired
    private AuthenticationManager authenticationManager;

    @Autowired
       private TokenStore tokenStore;

    @Override
      public void configure (AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
          endpoints
                  .authenticationManager (authenticationManager)        
                  .tokenStore (tokenStore);
      }
       @Bean
       public TokenStore tokenStore () {
           return new InMemoryTokenStore ();
       }


     @Bean
     public PasswordEncoder passwordEncoder () {
         return new BCryptPasswordEncoder ();
     }

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.inMemory().withClient("java-client").secret(passwordEncoder (). encode ("java-secret"))
         .authorities ("ROLE_CLIENT", "ROLE_TRUSTED_CLIENT", "USER")
         .autoApprove (true)
                .authorizedGrantTypes("authorization_code", "refresh_token", "password").scopes("read", "write");

    }
}

// Security Config

    @Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

      @Override
        protected void configure(HttpSecurity http) throws Exception { // @formatter:off
            http.authorizeRequests()
            .antMatchers("**").permitAll();

        } // @formatter:on


        @Bean
        public BCryptPasswordEncoder passwordEncoder(){
            return new BCryptPasswordEncoder();
        }

        @Autowired
        public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception{
            auth.inMemoryAuthentication().withUser("user").password("password").roles("USER");
        }

        public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {

            security.allowFormAuthenticationForClients();
        }
}

1 Ответ

0 голосов
/ 27 апреля 2019

Эта ошибка в основном означает, что вы получаете доступ к ресурсу, который защищен аутентификацией, и вы не указали имя пользователя / пароль должным образом. Если у вас есть доступ к URL-адресу веб-браузера, вам будет предложено ввести имя пользователя и пароль. Кроме того, вы можете добавить имя пользователя и пароль по запросу, если вы используете curl.

Либо username: password @ your_url, либо добавьте заголовок авторизации с помощью «Basic».

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