You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

未引入Spring Security的Spring Boot Web API出现403错误求助

问题分析与解决方案

我完全理解你的感受——为了禁用一个不需要的防护而引入整个Spring Security框架确实不够优雅,还会给项目增加不必要的依赖负担。咱们一步步拆解问题,找到最优解:

为什么没引入Spring Security却触发了CSRF防护?

你遇到的核心问题大概率是项目依赖中间接引入了Spring Security的WebFlux相关模块。虽然你没有显式添加spring-boot-starter-security依赖,但某些starter(比如你用到的spring-boot-starter-data-neo4j在特定版本下)可能会间接引入spring-security-webflux或spring-security-core。而Spring Boot的自动配置机制会在检测到这些类存在时,自动启用WebFlux Security的默认配置——其中就包含对非GET/HEAD/OPTIONS请求的CSRF防护,这就是你收到403错误的原因。

第一步:验证依赖来源

先运行以下Maven命令,过滤出所有Spring Security相关的依赖,就能清楚看到是哪个依赖间接引入了它:

mvn dependency:tree -Dincludes=org.springframework.security

第二步:针对性解决方案

情况1:确实存在间接引入的Spring Security依赖

如果你的项目完全不需要任何Spring Security功能,直接在对应的依赖中排除Security模块即可。比如,如果是spring-boot-starter-data-neo4j带来的依赖,修改POM如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-neo4j</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
        </exclusion>
        <!-- 若还有其他Security模块(如spring-security-webflux),一并排除 -->
        <exclusion>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-webflux</artifactId>
        </exclusion>
    </exclusions>
</dependency>

排除后,Spring Boot的自动配置就不会触发Security相关逻辑,CSRF防护自然会失效。

情况2:确认无Spring Security依赖但仍出现403

这种情况下,403的原因可能不是CSRF,建议排查以下方向:

  • 检查是否有自定义的WebFilter或GlobalFilter拦截了非GET请求并返回403;
  • 验证CORS配置是否正确(跨域请求的403通常会带有明确的CORS响应头);
  • 查看应用日志,搜索403相关报错,Spring Boot日志会明确提示拒绝请求的具体原因。

额外的POM配置优化

你的POM中存在一个潜在问题:Spring Boot parent版本是2.4.0,但spring-boot-maven-plugin的版本是2.1.10.RELEASE,版本不匹配可能导致自动配置或打包过程中的异常。建议把插件版本修正为和parent一致:

<spring.boot.maven.plugin.version>2.4.0</spring.boot.maven.plugin.version>

内容的提问来源于stack exchange,提问作者Emiliano S.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:45:27