Spring Security静态资源过滤

本文内容来自王松老师的《深入浅出Spring Security》,自己在学习的时候为了加深理解顺手抄录的,有时候还会写一些自己的想法。

        在手机项目中,并非所有的请求都需要经过Spring Security过滤器链。有一些特殊请求,例如静态资源并不需要经过Spring Security过滤器链,用户的如果要访问这些静态资源,直接访问对应资源即可。

        其实WebSecurity对象维护这一个ignoredRequests的变量,该变量记录的就是需要被忽略的请求,这些被忽略的请求将不在经过Spring Security过滤器。例如下图的静态资源:

         现在这些静态资源访问可以不需要经过Spring Security过滤器,具体的配置方案如下:

 @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .and()
                .csrf().disable();
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring()
                .antMatchers("/login.html","/css/**","/js/**","/images/**");
    }

        重写WebSecurityConfigurerAdapter的configure(WebSecurity web)方法,配置需要忽略的请,这些请求会被最终会被添加到ignoredRequests的集合中,并最终通过过滤器链的形式呈现出来。换句话说,上面的配置中一共包括了五个过滤器链:configure(WebSecurity web)方法中四个以及HttpSecurity 中配置了一个(即 /** )。

        配置完成后,启动项目,此时不需要认证就可以访问/login.html页面了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值