SpringSecurity过滤器链

本文详细探讨了SpringSecurity的过滤器链配置,包括如何禁用CsrfFilter,设置无状态会话,以及定义匿名访问和认证请求的规则。此外,还介绍了如何在过滤器链中添加自定义过滤器,以增强安全控制。通过对HttpSecurity的配置,我们可以精确地控制SpringSecurity的行为,提高应用程序的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringSecurity默认的过滤器链:
在这里插入图片描述
进行下列配置后:

    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        return http.build();
    }

过滤器链变为
在这里插入图片描述
进行下列配置后:

    // 配置过滤器链以及一些规则
    // 返回的这个http.build()也导致了关闭刚开始访问任意接口时都出现的默认登录页
    // 并不是我们在这个方法中对http的配置导致的, 仅仅是由于 return http.build(); 这一行
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http
              // 在过滤器链中移除了CsrfFilter
                .csrf().disable()
              // 不创建HttpSession, 不使用HttpSession获取SecurityContext
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
                .and()
                .authorizeRequests()
                .antMatchers("/user/login").anonymous()
                .anyRequest().authenticated();

        // 增加过滤器
        http.addFilterBefore(authenticationFilter, UsernamePasswordAuthenticationFilter.class);
        http.addFilterBefore(exceptionHandlerFilter, CorsFilter.class);
        return http.build();
    }

在这里插入图片描述
Spring Security过滤器链体系
深入理解 HttpSecurity

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值