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/**");
    }
}
相关推荐
好家伙VCC13 小时前
Delta Lake + Flink 实现近实时数据湖 Schema 演化
java·大数据·flink
hoho_1213 小时前
如何替换jar包中依赖的其他jar
java·pycharm·jar
码语智行13 小时前
接口请求处理流程
java
布朗克16813 小时前
23 泛型——类型安全的参数化编程
java·泛型
copyer_xyf13 小时前
FastAPI 核心语法
后端·python
我命由我1234513 小时前
Kotlin 开发 - Kotlin 反引号转义关键字
android·java·开发语言·java-ee·kotlin·android jetpack·android runtime
艾利克斯冰13 小时前
Java设计模式-工厂方法模式
java
中草药z13 小时前
【RAG】工程化实战:全链路原理复盘 + 方案选型 + 实战高阶玩法
java·深度学习·机器学习·阿里云·rag·springai
学计算机的计算基13 小时前
MySQL 性能调优面试复习:Explain、索引、慢查询、缓存和架构优化
java·数据库·笔记·mysql
Hillain13 小时前
软件设计师设计模式
java·开发语言·经验分享·笔记·算法·设计模式·软考