multipart/form-data 경우

?${_csrf.parameterName}=${_csrf.token}

 

일반 form

<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>

 

sec:form 의 경우 생략 (다만 로그인 및 로그아웃은 일반 폼으로 지정해야하는 이상한버그)

 

 

 

ajax

 

<meta name="_csrf" content="${_csrf.token}"/>

<meta name="_csrf_header" content="${_csrf.headerName}"/>

 

var token = $("meta[name='_csrf']").attr("content");

var header = $("meta[name='_csrf_header']").attr("content");

$.ajax({

type : "POST",

   url : '<c:url value="${checkLoginAjax}" />',

   data : {

userId : userId

 

   },

   beforeSend: function(xhr) {

            // here it is

            xhr.setRequestHeader(header, token);

        },

   dataType : "json",

   success : function(d){

   }

});

 

사용예시