参考:
https://juejin.cn/post/6844903502003568647
Spring Security 5.7.0弃用 WebSecurityConfigurerAdapter-CSDN博客
创建 Spring Security 配置类
WebSecurityConfigurerAdapter已被弃用
package com.cq.sc.security.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.web.SecurityFilterChain;@Configuration // 声明为配置类
@EnableWebSecurity // 启用 Spring Security web 安全的功能
public class WebSecurityConfig {@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
// 配置HTTP请求的授权规则
// authz是HttpSecurity.AuthorizeRequests的实例,用于定义授权规则。
//.anyRequest().authenticated()表示对于任何HTTP请求,都需要用户认证(即用户必须登录)。
// 这里的authenticated()是一个Configurer,它要求所有请求都必须由已认证的用户发起。
// HTTP Basic认证是一种简单的认证方式,它将用户名和密码以明文(但通常是Base64编码)的形式放在HTTP请求头中。
// Customizer.withDefaults()是一个定制器(Customizer),它通常用于为HTTP Basic认证提供默认配置。然而,需要注意的是,在Spring Security的常规用法中,直接调用.httpBasic()而不带参数通常已经足够,因为它会自动应用一些默认配置。Customizer.withDefaults()可能是一个特定于项目或库的自定义扩展,用于提供额外的默认配置或行为,但它不是Spring Security核心库中的标准部分。http.authorizeHttpRequests((authz)->authz.anyRequest().authenticated()).httpBasic(Customizer.withDefaults());
// 这个构建过程将应用所有之前通过链式调用设置的配置,生成一个配置好的HttpSecurity实例,
// 该实例随后可以用于构建Spring Security的过滤器链。return http.build();}
}
......
还是不太会,有人有更详细的资料分享一下,还有sa-token的demo加说明。