Spring Security에서 Ajax 요청을 어떻게 해야 할지 고민되시나요? 요청 시 csrf 토큰이 null이기 때문에 일반적인 ajax 요청은 Spring Security에서 금지됩니다. 공식에서는 솔루션을 제공합니다. 공식 문서 http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html
을 참조하세요.
구체적인 방법은 1. JSP 페이지의 head 태그에 다음 코드를 추가합니다. <meta name="_csrf" content="${_csrf.token}"/> < ;!-- 기본 헤더 이름은 X-CSRF-TOKEN입니다 --> <meta name="_csrf_header" content="${_csrf.headerName}"/>
2. ajax 요청 앞에 다음 코드를 추가합니다. var token = $("meta[name='_csrf']").attr("content"); var header = $(" 메타 [name='_csrf_header']").attr("content"); $(document).ajaxSend(function(e, xhr, options) { xhr.setRequestHeader(header, token); });
이런 식으로 ajax 요청을 정상적으로 사용할 수 있습니다. 제 블로그 http://jeesun.github.io/2016/03/27/Spring-Security%E5%A4%84%E7%90%86Ajax%E8%AF%B7%E6% B1%를 참고해주세요 82/
Spring Security에서 Ajax 요청을 어떻게 해야 할지 고민되시나요? 요청 시 csrf 토큰이 null이기 때문에 일반적인 ajax 요청은 Spring Security에서 금지됩니다. 공식에서는 솔루션을 제공합니다. 공식 문서 http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/html/csrf.html
을 참조하세요.구체적인 방법은
1. JSP 페이지의 head 태그에 다음 코드를 추가합니다.
<meta name="_csrf" content="${_csrf.token}"/>
< ;!-- 기본 헤더 이름은 X-CSRF-TOKEN입니다 -->
<meta name="_csrf_header" content="${_csrf.headerName}"/>
2. ajax 요청 앞에 다음 코드를 추가합니다.
var token = $("meta[name='_csrf']").attr("content");
var header = $(" 메타 [name='_csrf_header']").attr("content");
$(document).ajaxSend(function(e, xhr, options) {
xhr.setRequestHeader(header, token);
});
이런 식으로 ajax 요청을 정상적으로 사용할 수 있습니다.
제 블로그 http://jeesun.github.io/2016/03/27/Spring-Security%E5%A4%84%E7%90%86Ajax%E8%AF%B7%E6% B1%를 참고해주세요 82/