새소식

반응형
Java/Spring

[Spring Boot] Ajax 요청시 302 Redirect (302 에러)

  • -
반응형

환경구성 : Spring Boot, Thymeleaf, Spring Security

 

Spring Boot, Spring Security 구성이며 아이디, 패스워드를 RSA 암호화를 통해 서버로 전송하려고 RSA 공개키 요청중에 /auth/login/main 으로 Redirect가 되는 에러를 만났다.

 

요청은 아래와 같습니다.

Spring Security Config

 

AuthController

 

left.html

위와 같이 Spring Security Config 에 따로 csrf() 설정을 하지 않았으므로 enabled(활성화) 되어 있고

post 요청을 하게 되면 302 Redirect가 발생합니다.

 

 

원인

Spring Security 의 CSRF 설정 때문입니다.

기본적으로 Spring Security 는 CSRF 설정이 enabled 되어 있기 때문에 GET 요청을 제외한

POST/PUT/DELETE 등 CSRF 토큰이 포함되어 있어야 서버에 정상적인 요청을 할 수 있습니다.

 

해결

해결에는 2가지 방법이 있습니다. CSRF 토큰을 포함시키는 설정을 추가하는 방법과 CSRF 설정을

비활성화하는 방법입니다. 또 한가지 방법은 POST 방식이 아닌 GET 방식으로 보내는 방법입니다.

 

본인은 다음 작성글에 CSRF 설정글을 작성할 예정이므로 비활성화 방법으로 하겠습니다.

 

아래 이미지와 같이 Spring Security Config에 .csrf().disable() 을 추가하여 CSRF 설정을 비활성화 하면 정상적으로

요청이 가는걸 확인할 수 있습니다.

 

200 코드로 정상적으로 요청이 되는걸 확인할 수 있습니다.

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.