Spring Security 进行安全控制
使用Ajax的时候会报 403(ajax get 方式是没问题的 post 的时候会报)
Spring Security 原本是 防止 CSRF 攻击 现在 ajax 被误伤了...
如果是form表单用Ajax提交
方法一:
<form class="form-horizontal"th:action="@{/user}" method="post">
添加action即可。
方法二:
<meta name="_csrf" th:content="${_csrf.token}"/> <meta name="_csrf_header" th:content="${_csrf.headerName}"/>
js:
var header = $("meta[name='_csrf_header']").attr("content"); var token =$("meta[name='_csrf']").attr("content");
$.ajax({
url : "",
type : "POST",
data : "",
contentType : 'application/json;charset=utf-8',
//async : false,
beforeSend : function(xhr) {
xhr.setRequestHeader(header, token);
},
success : function(resdata) {},
error : function(xhr, ajaxOptions, throwError) { }
});