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/**");
    }
}
相关推荐
小徐Chao努力1 分钟前
【Langchain4j-Java AI开发】03-提示词与模板
java·开发语言·人工智能
海南java第二人2 分钟前
Spring Bean作用域深度解析:从单例到自定义作用域的全面指南
java·后端·spring
cike_y5 分钟前
Spring5入门&IOC容器
java·开发语言·spring·jdk·ioc·jdk1.8
悟空码字10 分钟前
SpringBoot 整合 Nacos,让微服务像外卖点单一样简单
java·spring boot·后端
橘子1312 分钟前
C++多态
后端
golang学习记15 分钟前
🔥 Go Gin 不停机重启指南:让服务在“洗澡搓背”中无缝升级
后端
云技纵横21 分钟前
Spring Cache 多线程环境的线程安全与并发控制
java·安全·spring
程序员-周李斌27 分钟前
transmittable-thread-local[线程池跨线程值传递]
java·开发语言·算法·散列表
enjoy编程33 分钟前
Spring Boot 4 如何使用Sentinel进行限流-II【基于Sentinel Spring MVC Adapter实现】
spring boot·spring·sentinel·服务限流·webmvc·servlet 6.x
亓才孓33 分钟前
【homework1】彩票奖金问题(苛刻条件变松弛条件需要避免条件重复)
java·开发语言