Spring MVC でAjaxを利用する際のCSRF対策

SpringMVCでAjaxをpostメソッドで使用するとCSRFエラーに引っかかってしまう。

その場合、jspのmetaデータに以下の2行を追加。

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

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

javascript側で下記を追加。

/**

*ajax送信時にメタデータのcsrfをtokenに追加する

*/

$(function () {

var token = $(“meta[name=’_csrf’]”).attr(“content”);

var header = $(“meta[name=’_csrf_header’]”).attr(“content”);

$(document).ajaxSend(function(e, xhr, options) {

xhr.setRequestHeader(header, token);

});

});

タイトルとURLをコピーしました