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

求帮助:将旧版Spring Security授权代码迁移至Spring Security 6

Spring Security 旧代码转6.x版本实现

旧版代码

http.authorizeRequests().antMatchers("/resources/**", "/static/**").permitAll().antMatchers("/api/**")
        .authenticated().and().httpBasic().and().antMatcher("/tdgp/**").authorizeRequests().anyRequest()
        .hasAnyRole("Admin", "BasicUser").and().formLogin().loginPage("/login").and().rememberMe()
        .key("rememebrKey").rememberMeParameter("spring_security_remember_me")
        .rememberMeCookieName("rememberme").useSecureCookie(false);

转换后的Spring Security 6.x代码

http
    // 配置静态资源放行及API路径认证规则
    .authorizeHttpRequests(auth -> auth
        .requestMatchers("/resources/**", "/static/**").permitAll()
        .requestMatchers("/api/**").authenticated()
    )
    // 开启HTTP Basic认证
    .httpBasic(Customizer.withDefaults())
    // 针对/tdgp/**路径单独配置权限
    .securityMatcher("/tdgp/**")
    .authorizeHttpRequests(auth -> auth
        .anyRequest().hasAnyRole("Admin", "BasicUser")
    )
    // 配置自定义登录页面
    .formLogin(form -> form
        .loginPage("/login")
    )
    // 配置记住我功能细节
    .rememberMe(remember -> remember
        .key("rememebrKey")
        .rememberMeParameter("spring_security_remember_me")
        .rememberMeCookieName("rememberme")
        .useSecureCookie(false)
    );

关键变化说明

  • 废弃旧版authorizeRequests(),改用authorizeHttpRequests()结合Lambda表达式配置权限规则
  • 替换antMatchers()为requestMatchers(),路径匹配API更规范;antMatcher()替换为securityMatcher()用于指定专属权限控制的路径范围
  • 不再依赖.and()链式拼接配置,各功能模块(认证、登录、记住我)通过对应方法的Lambda参数独立完成细节配置
  • 使用Customizer.withDefaults()快速启用HTTP Basic认证,也可传入自定义配置逻辑调整参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 17:44:59