Spring boot Spring引导安全+Spring引导REST存储库配置问题
我有如下Spring启动应用程序 Web安全配置为Spring boot Spring引导安全+Spring引导REST存储库配置问题,spring-boot,spring-security,spring-repositories,Spring Boot,Spring Security,Spring Repositories,我有如下Spring启动应用程序 Web安全配置为 @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().anyReq
@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.authorized.and.httpBasic
formLogin是在您希望使用登录页来验证用户身份时使用的,但在您的示例中,您使用的是http basic。Spring security无法识别您的http基本头并返回登录页面
另外,您可以同时使用http.httpBasic.and.formLogin两种方法。首先,在密码中,我看到您将{noop}。。。这正常吗?否则,请尝试将rest方法@PreAuthorizehasAnyRole'ADMIN'放在上面,并测试它是否可以{noop}表示我不想加密密码