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/**");
    }
}
相关推荐
starzy19901 分钟前
Flink基础之Per-Job-Cluster原理详解:被 Application 取代的模式
java·大数据·flink
BingoGo6 小时前
PHP clone 之后,为什么改副本会影响原对象?
后端·php
JaguarJack6 小时前
PHP clone 之后,为什么改副本会影响原对象?
后端·php·服务端
小灰灰搞电子6 小时前
Rust+Slint 实现动态消息提示框源码分享
开发语言·后端·rust
魏 无羡7 小时前
webclient
java·webclient
小奏技术7 小时前
10 MB 的 Postman 替代品,启动不到 1 秒
后端
东风破_7 小时前
Text2SQL :用自然语言操作 SQLite 数据库
人工智能·后端
神仙别闹7 小时前
基于 C++ 实现两个有序链表序列的交集
java·c++·链表
swordbob8 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
m0_587383009 小时前
全民健身解决方案软件开发实战:从架构设计到落地指南
java·spring boot·spring·架构·需求分析