我刚刚开始学习Web编程,并且尝试使用Spring Boot编写我的第一个应用程序,该应用程序为HRM系统提供了RESTful API。但是我在HTTP认证方面遇到困难。我尝试了许多指南,但没有帮助。
在没有安全性设置的情况下,RESTful API可以工作,但是如果我为我的API包括安全性,我将获得代码401。如何解决该问题?
Screenshot_from_REST_client_1
Screenshot_from_REST_client_2
Screenshot_from_REST_client_3
Screenshot_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。英语不是我的母语,所以请善待我的错误。我真的是在努力提高我的英语水平。