kyupid / java-chess-again

자바/스프링 웹 전반 공부
4 stars 0 forks source link

스프링시큐리티 & POST전송시 주의사항 #47

Closed kyupid closed 2 years ago

kyupid commented 2 years ago

SpringSecurity를 적용하신 분들에게

이때 SpringSecurity를 적용하신 분들은 forbidden 에러가 뜨실겁니다.

csrf 토큰문제가 발생해서 접근을 못하는 문제가 발생한것으로 보여집니다.

따라서 뷰 페이지 헤더에 아래 두 meta태그를 넣어주신 뒤

 <meta id="_csrf" name="_csrf" th:content="${_csrf.token}"/>
    <meta id="_csrf_header" name="_csrf_header" th:content="${_csrf.headerName}"/>

javaScript에서 ajax를 하기 전에 token, header를 추가하고

beforeSend에서 헤더에 그 값들을 넣어주면 에러없이 통신을 진행할 수 있습니다.

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

    $.ajax({
        beforeSend: function(xhr){
            xhr.setRequestHeader(header,token);
        },
        url: ...
        ...
        success:function (result) {

        },
        error:function (e) {
        }
    });

참고 바랍니다:)

출처: https://chung-develop.tistory.com/8 [춍춍 블로그]