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()
我有 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()