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

Spring Boot 3中无法使用antMatchers问题求助

Spring Boot 3中Spring Security无法使用antMatchers的解决办法

Spring Boot 3对应的Spring Security 6版本,已经移除了authorizeRequests()方法,同时antMatchers()也被标记为弃用,这就是你无法在配置中使用antMatchers()的原因。替代方案是使用authorizeHttpRequests()结合requestMatchers()来完成请求授权配置。

修改后的配置示例

@Configuration
public class ProjectSecurityConfig {

    @Bean
    SecurityFilterChain defaultSecurityFilterChain(HttpSecurity http) throws Exception {
        http
            // 替换原有的authorizeRequests()为authorizeHttpRequests()
            .authorizeHttpRequests(auth -> auth
                // 使用requestMatchers()替代antMatchers(),支持原有的Ant路径模式
                .requestMatchers("/", "/home", "/public/**").permitAll()
                // 其他所有请求需要认证
                .anyRequest().authenticated()
            )
            // 可根据需求配置表单登录、退出等规则
            .formLogin(form -> form.permitAll())
            .logout(logout -> logout.permitAll());

        return http.build();
    }
}

额外说明

如果需要显式使用Ant风格匹配规则,可以直接传入AntPathRequestMatcher实例:

.requestMatchers(new AntPathRequestMatcher("/api/**")).permitAll()

不过requestMatchers()默认已经支持Ant路径模式(比如"/api/**"这种写法),和原antMatchers()的行为完全一致,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 00:19:54