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

Spring Security表单登录与REST API Basic Auth共存遇403问题排查

问题排查与解决:Spring Security REST API Basic Auth 403 Forbidden

问题根源

从控制台日志可直接定位问题:

o.s.security.web.csrf.CsrfFilter         : Invalid CSRF token found for http://localhost:8080/api/enhance-process

你的/api/**对应的SecurityFilterChain未禁用CSRF保护。Spring Security默认会对POST/PUT/DELETE等请求校验CSRF令牌,但REST API基于Basic Auth认证时不需要CSRF防护,因此POST请求被拦截返回403。

修复代码

修改@Order(1)的SecurityFilterChain配置,新增CSRF禁用逻辑:

@Order(1)
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    http.antMatcher("/api/**")
         .csrf().disable() // 禁用API接口的CSRF保护
         .authorizeRequests()
         .anyRequest()
         .hasAuthority("ADMIN")
         .and().httpBasic();
    
    return http.build();
}

额外验证点

  • 确认调用API时正确发送Basic Auth请求头,格式为Authorization: Basic <base64编码的用户名:密码>
  • 检查用户是否确实拥有ADMIN权限,排除权限不足导致的403

内容的提问来源于stack exchange,提问作者Shailesh Vikram Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 20:20:09