Я только начинаю изучать веб-программирование и пытаюсь написать свое первое приложение с использованием Spring Boot, которое предоставляет RESTful API для систем управления персоналом. Но у меня проблемы с HTTP-аутентификацией. Я перепробовала много гайдов, но они не помогли.
Без настройки безопасности RESTful API работает, но если я включу безопасность для своего API, я получаю код 401. Как это исправить?
Скриншот_from_REST_client_1
Скриншот_from_REST_client_2
Скриншот_from_REST_client_3
Скриншот_from_REST_client_4
SpringSecurityConfig.java (без пакета и импорта)
@Configuration
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private AccessDeniedHandler accessDeniedHandler;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf()
.disable()
.authorizeRequests()
.antMatchers().permitAll()
.antMatchers("/**").hasAnyRole("USER")
.anyRequest()
.authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll()
.and()
.httpBasic()
.and()
.exceptionHandling().accessDeniedHandler(accessDeniedHandler);
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
}
P.S. Английский - не мой родной язык, поэтому, пожалуйста, будьте добры к моим ошибкам. Я действительно пытаюсь улучшить свой английский.
Форма входа в систему не подходит для аутентификации API.
Вы используете Spring Boot, поэтому вам следует прочитать документацию по Spring Boot. Есть глава, объясняющая, как переопределить конфигурацию Spring Boots по умолчанию.




Проверьте руководство по это, а затем вернитесь, если у вас возникнут дополнительные вопросы.