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

Spring Security 6.1+中cors()、and()、csrf()弃用问题求解

Spring Security 6.1+ 弃用方法替代方案

Spring Security 6.1起弃用了旧的链式调用风格(如and()、无参cors()、无参csrf()),推荐使用lambda表达式风格的DSL配置,以下是你的代码改造后的版本:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
        // 指定当前配置生效的路径范围,替代原antMatcher
        .securityMatcher("/page/book", "/page/food", "/page/password")
        // 配置CORS,替代原cors().configurationSource()链式调用
        .cors(cors -> cors.configurationSource(request -> new CorsConfiguration().applyPermitDefaultValues()))
        // 禁用CSRF,替代原csrf().disable()
        .csrf(csrf -> csrf.disable());
}

关键改动说明:

  • 移除and():新版本通过lambda结构自然分隔不同配置块,不再需要and()来连接链式调用
  • securityMatcher替代antMatcher:antMatcher已被标记为弃用,securityMatcher是更通用的路径匹配入口,用于指定当前HttpSecurity配置生效的请求路径范围
  • 配置项改用lambda:cors、csrf等方法现在接受对应的配置器lambda,直接在内部完成配置,替代旧的链式调用

这种配置风格是Spring Security 6.x版本的标准写法,不仅解决了弃用警告,还让配置结构更清晰、可读性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 06:02:09