Spring 引导安全 + Spring 引导 REST 存储库配置问题

Spring Boot Security + Spring Boot REST Repository config issue

我有 Spring 启动应用程序如下 网络安全配置为

@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> {

}

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

使用 httpBasic() 而不是 formLogin(),如 http.authorizeRequests().anyRequest().authenticated().and().httpBasic();

formLogin() 当您希望登录页面对用户进行身份验证时使用(您已经拥有),但在您的示例中,您使用的是 http basic 来执行此操作。 Spring 安全性无法识别您的 http 基本 header 和 returns 登录页面。

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