티스토리 뷰
728x90
Spring boot 를 사용하면서 security 를 사용 시 ajax post 통신을 할 때 403 에러가 발생한다.
해결방법으로는 ajax send 전에 header 값에 csrf 토큰 값을 넣어주면 된다.
페이지의 header 부분에 meta 값을 넣어준다.
<meta name="_csrf" th:content="${_csrf.token}">
<meta name="_csrf_header" th:content="${_csrf.headerName}">
jQuery ajax 요청시 csrf 값을 요청 전에 헤더에 담아서 보내면 된다.
$.ajax({
url: opt.url,
type: opt.type,
contentType: contentType,
dataType: "json",
data: opt.param,
beforeSend: function (jqXHR, settings) {
var header = $("meta[name='_csrf_header']").attr("content");
var token = $("meta[name='_csrf']").attr("content");
jqXHR.setRequestHeader(header, token);
}
}).done(function (rData, textStatus, jqXHR) {
...
}).fail(function (rData, textStatus, errorThrown) {
...
}).always(function (rData, textStatus, jqXHR) {
...
});
출처 및 참고..
https://sarc.io/index.php/cloud/2096-spring-boot-security-ajax-post-403
728x90
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- rocky
- mybatis
- k8s
- LocalDate
- LocalDateTime
- springboot
- config-location
- jQuery
- 베리 심플
- Bash tab
- Linux
- docker
- input
- window
- Java
- 북리뷰
- mybatis config
- intellij
- Kotlin
- elasticsearch
- JavaScript
- maven
- Mac
- localtime
- svn
- Spring Security
- oracle
- 오라클
- Github Status
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함