Springboot+Springsecurity开启csrf跨站请求防护

如果配置了springsecurity,默认是开启的,不过大多是项目为了便利,往往会在配置中将其关闭的,

.csrf().disable()

不过有些业务场景单纯的认证token不能满足,需要开启csrf防护,找了很久找到了如下方法,做为记录。

配置文件中(WebSecurityConfig)将

.csrf().disable()改为
.csrf().ignoringAntMatchers("XXXX").csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()).and()

配置完之后,会在前端页面的cookie中发现多了一个参数XSRF-TOKEN,我才用的vue的前端,前端没有做任何调整,请求后台接口的时候header中会自动生成一个参数X-XSRF-TOKEN。

开启csrf防护之后,平台操作没有受到影响,不过postman向后台发起post请求受到限制,会提示没有权限,get请求没有受到影响。(postman的cookie和header中添加csrf需要的参数,模拟页面提交,由同事测试均显示没有权限,具体情况待验证)

由于开启了csrf防护之后post请求受到了影响,原先即使配置无需登录就能请求的后台接口也不能访问,为了不影响原先业务,在csrf配置中有一个ignoringAntMatchers,可以将需要忽略的接口路径配置在其中

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值