Spring Security 6配置迁移:antMatchers方法无法解析问题求助
Spring Security 6 迁移:解决
Cannot resolve method 'antMatchers'错误 Spring Security 6 彻底移除了authorizeRequests()方法,同时antMatchers()也被标记为弃用并移除,这是触发该错误的核心原因。以下是适配Spring Security 6的正确配置方案:
修改后的配置代码
public void configure(final HttpSecurity http) throws Exception { // 替换authorizeRequests()为authorizeHttpRequests(),用lambda链式整合配置 http.authorizeHttpRequests(auth -> auth .requestMatchers(permittedAntMatchers()) // 替换antMatchers()为requestMatchers() .permitAll() .anyRequest() // 替代原"/**"匹配,符合框架推荐写法 .authenticated()); // 原有exceptionHandling等配置保持不变 http.exceptionHandling()....; }
关键迁移细节
- 核心API替换:
authorizeRequests()→authorizeHttpRequests(),antMatchers()→requestMatchers() - 合并配置逻辑:将原来两次拆分的授权配置合并为一个链式调用,避免重复配置引发的潜在冲突
- 灵活匹配扩展:
requestMatchers()支持更多匹配场景,比如指定HTTP方法:.requestMatchers(HttpMethod.GET, "/public/api/**").permitAll() - lambda风格推荐:Spring Security 6官方建议使用lambda式配置,代码更简洁且可读性更强
内容的提问来源于stack exchange,提问作者Peter Penzov
相关产品推荐
相关产品推荐

