SpringBoot中@EnableWebFluxSecurity等符号无法解析求助
解决@EnableWebFluxSecurity等WebFlux Security元素无法解析的问题
你用到的@EnableWebFluxSecurity、ServerHttpSecurity、.csrf()、.pathMatchers()以及springSecurityFilterChain都属于Spring Security WebFlux模块,而当前pom.xml里的spring-boot-starter-security是Servlet栈的安全依赖,和Spring Cloud Gateway(基于WebFlux响应式栈)不兼容,导致这些响应式安全相关的元素无法被解析。
修复步骤
- 移除Servlet栈的Security依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> - 添加适配WebFlux栈的Security依赖组合
方案一:手动排除Servlet依赖并引入WebFlux Security
方案二:直接引入WebFlux Starter(更简洁,Spring Boot会自动适配)<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <exclusions> <exclusion> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-webflux</artifactId> </dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency>
修改完成后重新构建项目,所有无法解析的WebFlux Security元素即可正常识别。
内容的提问来源于stack exchange,提问作者shatakchhi
相关产品推荐
相关产品推荐

