为什么找不到Spring Security .antMatchers?

问题描述 投票:0回答:1

我需要一个 SecurityConfig 文件来验证角色,而无需使用已弃用的“WebSecurityConfigurerAdapter”。

这是我的 spring security 的 pom.xml 依赖项:

<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>6.1.3</version>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

这是我的 SecurityConfig.java 类:

import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.web.SecurityFilterChain;

@EnableWebSecurity
public class SecurityConfig {

    
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {

        http
                .csrf(csrf -> csrf.disable())
                .authorizeRequests(auth -> {
                    auth.antMatchers("/admin/**").hasRole("ADMIN")
                        .antMatchers("/user/**").hasRole("USER")
                        .anyRequest().authenticated();
                })
                .httpBasic();


        return http.build();

    }

}

为了了解背景,我观看了这个视频

我运行 mvn clean、验证并尝试使用 File -> Invalidate Cache 清除 IntelliJ 缓存,但没有成功。 antMatchers 方法上仍然存在“无法解析‘ExpressionInterceptUrlRegistry’中的方法‘antMatchers’”的问题。

spring-boot maven spring-data-jpa deprecated
1个回答
0
投票

在 Spring Security 5.8 中,已弃用

antMatchers
mvcMatchers
regexMatchers
方法,取而代之的是新的
requestMatchers
方法。上述已弃用的方法已在 Spring Security 6.0 中删除

查看迁移指南

© www.soinside.com 2019 - 2024. All rights reserved.