解决SpringSecurity阻止ajax的POST和PUT请求,致使403Forbidden的问题

前言:
最近在整合springboot+springsecurity,在PUT请求的时候出现了403的问题,这里记录一下解决的过程ajax


  1. 到Spring的官网去查查SpringSecurity的参考手册看看为何会有403的问题

    官网是这样解释问题的

    SpringSecurity默认是禁止接收POST请求的,而GET是默承认以的,官网给出两个解决方案:1是发送请求时带上CSRF的token,2是不推荐的作法(把SpringSecurity的CSRF功能关掉)spring

  2. 在这里,采用第一种解决方法
    在参考手册中找到在ajax中包含CSRF的token的方法,以下

    大体就是给页面加上两个meta标签,而后在页面加载的时候完成设置,让ajax请求都带上CSRF的token。springboot

  3. 小问题
    固然,官网给的页面是JSP的页面,而我用的是thymeleaf引擎,因此它的meta标签直接拿来用会出问题,要作一点小小的修改,以下
    这里参考了一个博客
    .net


至此,问题解决。blog

相关文章
相关标签/搜索