Parameter 0 of method filterChain in com.my.blog.config.SecurityConfig required a bean of type 'org.springframework.security.config.annotation.web.builders.HttpSecurity' that could not be found.
时间: 2023-12-14 10:03:04 浏览: 204
这个错误提示说明在你的 `SecurityConfig` 类中的 `filterChain()` 方法中需要一个名为 `HttpSecurity` 的 Bean,但是系统找不到该类型的 Bean。
可能的原因有:
1. 没有在配置类上使用 `@EnableWebSecurity` 注解。如果没有使用该注解,Spring Security 将不会启用。
2. 没有定义 `HttpSecurity` 类型的 Bean,或者定义了一个名称不为 `httpSecurity` 的 Bean。在 `filterChain()` 方法中需要使用名称为 `httpSecurity` 的 `HttpSecurity` Bean。
你可以尝试在 `SecurityConfig` 类上添加 `@EnableWebSecurity` 注解,并且定义名称为 `httpSecurity` 的 `HttpSecurity` Bean。例如:
```java
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
// 定义名为 httpSecurity 的 HttpSecurity Bean
@Bean
public HttpSecurity httpSecurity() throws Exception {
return super.httpSecurity()
.authorizeRequests()
.anyRequest().permitAll()
.and()
.csrf().disable();
}
// filterChain 方法中使用 httpSecurity Bean
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.apply(new CustomConfigurer())
.and()
.authorizeRequests()
.anyRequest().permitAll()
.and()
.csrf().disable();
}
// 自定义配置器
private static class CustomConfigurer extends HttpSecurityConfigurerAdapter {
// 自定义配置
}
}
```
这样应该就可以解决该错误。
阅读全文