가자공부하러!

Spring Security 활용 회원 관리 (5) - AJAX 403 처리(Spring Boot) 본문

공부/Spring Boot

Spring Security 활용 회원 관리 (5) - AJAX 403 처리(Spring Boot)

오피스엑소더스 2019. 9. 26. 21:00

참고 : https://bestcure.tistory.com/entry/Spring-boot-security-%EC%82%AC%EC%9A%A9%EC%8B%9C-ajax-%EC%B2%98%EB%A6%AC


1. 개발환경

  > jdk 8, spring boot 2.1.8, spring security, JSP


2. 문제

  > 스프링 시큐리티를 적용한 프로젝트에서 ajax 통신을 시도했을 때, 403 에러 발생


3. 해결

  > 원인 : CSRF 관련 이슈

  > 해결방법 :     

- JSP에 meta 태그 추가

- csrf 값을 얻어오기 위함

- JavaScript에서 csrf 토큰, 헤더 등록


4. 소스코드

  > JSP

1
2
3
4
5
<head>
<!-- ajax 통신을 위한 meta tag -->
<meta name="_csrf" content="${_csrf.token}">
<meta name="_csrf_header" content="${_csrf.headerName}">
</head>
cs

  > js

1
2
3
4
5
6
// ajax 통신을 위한 csrf 설정
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);
});
cs





Comments