spring security6 不支持antMatchers
时间: 2023-08-18 12:06:10 浏览: 1174
spring-security出错问题
您好,Spring Security 6.0 确实不再支持 `antMatchers`,而是采用了一种新的方式来进行 URL 的匹配和权限控制,即基于路径的访问控制(path-based access control)。
在新的访问控制模型中,您可以通过使用 `HttpSecurity#authorizeRequests()` 方法来定义 URL 的访问规则,例如:
```java
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests(authorize -> authorize
.mvcMatchers("/public/**").permitAll()
.mvcMatchers("/admin/**").hasRole("ADMIN")
.anyRequest().authenticated()
)
.formLogin(withDefaults());
}
```
在上述代码中,`authorizeRequests()` 方法用于定义 URL 的访问规则,`.mvcMatchers("/public/**").permitAll()` 表示 `/public` 目录下的所有 URL 都是公共资源,任何人都可以访问,`.mvcMatchers("/admin/**").hasRole("ADMIN")` 表示 `/admin` 目录下的所有 URL 都需要 `ADMIN` 角色才能访问,`.anyRequest().authenticated()` 表示其他任何 URL 都需要认证才能访问。
另外,Spring Security 6.0 还引入了一些新的特性,例如:
- 支持 WebFlux 框架
- 支持 OAuth 2.1 协议
- 提供了新的认证方式和密码加密方式等
希望以上内容能够对您有所帮助。如果您有任何疑问,请随时提出。
阅读全文