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/**");
    }
}
相关推荐
~木雨2 分钟前
Java 内部类系列④(收官):内部类底层与版本演进全梳理 —— 合成字段、nestmates 与 JDK18 优化,附全套面试背诵表
java·字节码·内部类·java 面试·nestmates·jdk18
IT_陈寒3 分钟前
Redis持久化配置漏了这一步,线上数据丢了5小时
前端·人工智能·后端
吴声子夜歌4 分钟前
Guava——反射
java·开发语言·guava
Moment8 分钟前
太好了!NestJS 12 大版本转向 ESM,新项目默认构建换 Rspack
前端·javascript·后端
摇滚侠16 分钟前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 Spring Framework 的事务管理 阅读笔记 34
spring boot·笔记·spring
名字还没想好☜22 分钟前
Go 用 -race 抓数据竞争:一个偶发崩溃的排查、原理与修复
开发语言·后端·golang·go
X1A0RAN35 分钟前
Jenkins 流水线跨阶段的数据共享:让变量“动态更新“成为可能
java·servlet·jenkins
学习星球36 分钟前
CodeWhale 深度剖析:从 DeepSeek-TUI 到 40.9K Star 的 Rust 终端编程 Agent
开发语言·后端·rust
Rain的Java大神之路41 分钟前
高并发下的热点账户余额扣减:Redis+Lua脚本实现无锁记账
java·spring boot·redis·后端·spring cloud·缓存·lua
随遇而安zx44 分钟前
【地基篇】---JVM 类加载 源码解析(基于 Java 8)
java·jvm·python