본문 바로가기
Study Hard/HW

스프링-시큐리티 session.invalidate() 하면 403에러 뜨는 이유

by 코플+ 2023. 7. 13.
로그인이 되지않은 상태에서는 세션을 invalidate() 를 사용해도 상관없다고 생각했지만 스프링-시큐리티를 적용한 후, 프레임워크는 지속적으로 jessionid를 확인해서  invalidate() 이후 jsession이 갱신된 상태에서 post요청을 보내게되면 403에러가 발생되게 된다.

 

 

다음과 같은 화면을 보여주는 컨트롤러는 값을 가져오고 서버에 있는 데이터값을 지우기 위해 세션 invalidate();

를 해주었다.

 

페이지에 접속하면 새로 값을 발급받는다.

 

 

invalidate()후 클라이언트가 j세션id를 새로 받게되고 "회원가입 버튼"을 눌러 post요청을 날리게되면 에러가 발생한다.

 

유지하던 jsession id가 바뀌어 서버에서 403 에러발생

 

프레임워크를 쓴다면 세션을 직접관리하지말고 프레임워크에 전적으로 맡겨야한다.

세션을 관리할땐 아래 문서를 읽어보고 진행하자.

https://www.javadevjournal.com/spring-security/spring-security-session/

 

Spring Security Session - How to Control Session with Spring Security | Java Development Journal

A guide to spring security session management and how to control the session with spring security. Lean how to configure number of concurrent sessions per user in your application using spring security.

www.javadevjournal.com

 

댓글