Spring Boot和HTTP身份验证上的简单应用程序

时间:2018-07-13 10:21:57

标签: java spring-boot spring-security http-authentication

我刚刚开始学习Web编程,并且尝试使用Spring Boot编写我的第一个应用程序,该应用程序为HRM系统提供了RESTful API。但是我在HTTP认证方面遇到困难。我尝试了许多指南,但没有帮助。

在没有安全性设置的情况下,RESTful API可以工作,但是如果我为我的API包括安全性,我将获得代码401。如何解决该问题?

Link to source code

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。英语不是我的母语,所以请善待我的错误。我真的是在努力提高我的英语水平。

0 个答案:

没有答案