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

Spring Security默认请求认证行为与文档不符问题咨询

Spring Security 非Boot项目默认认证规则的疑问解答

你遇到的情况是纯Spring Framework(非Spring Boot)与Spring Boot在Security默认配置上的差异,并非文档有误,也不是你遗漏了基础配置,核心原因如下:

  1. 文档中“默认要求所有请求经过认证”的前提是Spring Boot环境的自动配置
    Spring Boot的Security自动配置类会默认注入.authorizeHttpRequests().anyRequest().authenticated()规则,因此所有请求会被强制要求认证,这也是文档描述的“默认情况”的适用场景。

  2. 纯Spring Framework项目中,@EnableWebSecurity仅启用基础Security功能,不会自动添加授权规则

    • 当你自定义SecurityFilterChain仅配置.csrf().disable()时,相当于只关闭了CSRF防护,未启用任何授权拦截逻辑,因此过滤器链中不会包含AuthorizationFilter,所有请求无需认证即可通过。
    • 即使不自定义SecurityFilterChain,@EnableWebSecurity生成的默认配置也不会自动添加全局认证要求,必须手动配置.authorizeHttpRequests().anyRequest().authenticated(),才能让所有请求触发认证校验。

简单来说:在纯Spring项目中,Spring Security不会帮你默认添加授权规则,必须显式配置才能实现“所有请求需认证”的效果,你后来添加的配置正是正确的做法。

内容的提问来源于stack exchange,提问作者T3rm1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:43:20