前言:
最近在整合springboot+springsecurity,在PUT请求的时候出现了403的问题,这里记录一下解决的过程ajax
到Spring的官网去查查SpringSecurity的参考手册看看为何会有403的问题
官网是这样解释问题的
SpringSecurity默认是禁止接收POST请求的,而GET是默承认以的,官网给出两个解决方案:1是发送请求时带上CSRF的token,2是不推荐的作法(把SpringSecurity的CSRF功能关掉)spring
在这里,采用第一种解决方法
在参考手册中找到在ajax中包含CSRF的token的方法,以下
大体就是给页面加上两个meta标签,而后在页面加载的时候完成设置,让ajax请求都带上CSRF的token。springboot
小问题
固然,官网给的页面是JSP的页面,而我用的是thymeleaf引擎,因此它的meta标签直接拿来用会出问题,要作一点小小的修改,以下
这里参考了一个博客
.net
至此,问题解决。blog