Spring Boot Security + Sping Boot REST Repository配置问题

时间:2018-11-28 12:20:55

标签: spring-boot spring-security spring-repositories

我有如下enter image description here的Spring Boot应用程序 Web安全配置为

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().authenticated().and().formLogin();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        // @formatter:off
        auth.inMemoryAuthentication().withUser("chiru").password("{noop}chiru").roles("ADMIN").and().withUser("user")
                .password("{noop}user").roles("USER");
        // @formatter:on
    }
}

我的存储库如下

public interface IssuesRepository extends CrudRepository<Issues, Integer> {

}

当我尝试通过REST使用带有基本身份验证的Postman来添加数据时,它失败了enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

使用httpBasic()代替formLogin(),例如http.authorizeRequests().anyRequest().authenticated().and().httpBasic();

formLogin()用于想要拥有登录页面来验证用户身份(例如,您具有)的情况,但是在您的示例中,您使用的是http basic。 Spring Security无法识别您的http基本标头并返回登录页面。

PS。您可以同时使用两种方法http.httpBasic().and().formLogin()