Spring Security6 设置免登录接口地址

  1. 在SecurityFilterChain中设置免登录接口地址。如果定义了多个SecurityFilterChain,并且前面的SecurityFilterChain里使用了anyRequest().authenticated(),后面的免登录可能会失效。
java 复制代码
@Configuration
@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
            .authorizeHttpRequests(authorize -> authorize
                .requestMatchers("/api1/**", "/api2/**").permitAll()
                .anyRequest().authenticated()
            );
        return http.build();
    }

}
  1. 使用WebSecurityCustomizer设置免登录接口地址。这里设置的免登录接口地址是优先于SecurityFilterChain进行判定的。
java 复制代码
@Configuration
public class SecurityConfiguration {
    @Bean
    public WebSecurityCustomizer webSecurityCustomizer() {
        return (web) -> web.ignoring().requestMatchers("/ignore1/**", "/ignore2/**");
    }
}
相关推荐
我不是懒洋洋3 分钟前
手写一个异步日志库:从printf到高性能无锁日志
java·c语言·开发语言·c++·visual studio
李少兄6 分钟前
Java 工程化基石:标准目录结构与 META-INF 元信息机制
java·开发语言
就叫_这个吧12 分钟前
理解Java反射机制和内省机制应用与实践
java·开发语言·反射
未若君雅裁33 分钟前
synchronized 底层原理:Monitor、对象头、Mark Word 与锁升级
java
道友可好33 分钟前
Superpowers:给 AI 编程助手装上超能力
前端·人工智能·后端
凯尔萨厮34 分钟前
创建Hibernate Web项目(配置类)
后端·hibernate
m0_7520356342 分钟前
markdown语言格式
java
布朗克16843 分钟前
12 封装与构造方法
java·开发语言·封装·构造方法
z落落1 小时前
C# 抽象类(abstract)
java·开发语言·c#