httpsession
-
1️⃣ HttpSession 이란?Servlet 컨테이너(Tomcat) 가 관리하는 서버 측 세션 객체클라이언트당 1개식별자는 JSESSIONID 쿠키Spring Security 는 필요할 때만 HttpSession 을 사용(기본 설정)보통 Spring Security 인증 성공 후 SecurityContextRepository 를 통해 인증정보를 저장한다. 2️⃣ HttpSession은 언제 생성될까?❌ 자동 생성되지 않는다HttpSession 은 요청이 왔다고 해서 무조건 생성되지 않는다.// HttpServletRequest requestrequest.getSession(false); // 세션 없으면 nullrequest.getSession(); // 없으면 생성 ✅ 생성되는 대표적인 경..
HttpSession 생명주기 (SecurityContextHolderFilter, HttpSessionSecurityContextRepository)1️⃣ HttpSession 이란?Servlet 컨테이너(Tomcat) 가 관리하는 서버 측 세션 객체클라이언트당 1개식별자는 JSESSIONID 쿠키Spring Security 는 필요할 때만 HttpSession 을 사용(기본 설정)보통 Spring Security 인증 성공 후 SecurityContextRepository 를 통해 인증정보를 저장한다. 2️⃣ HttpSession은 언제 생성될까?❌ 자동 생성되지 않는다HttpSession 은 요청이 왔다고 해서 무조건 생성되지 않는다.// HttpServletRequest requestrequest.getSession(false); // 세션 없으면 nullrequest.getSession(); // 없으면 생성 ✅ 생성되는 대표적인 경..
2025.12.31 -
Spring 에서의 세션(Session) 은 기본적으로 서블릿 컨테이너(예: Tomcat, Jetty 등) 에 의해 관리된다. 🔍 기본 세션 관리 구조 항목내용세션 저장소기본적으로 서블릿 컨테이너가 HttpSession 객체를 사용해 관리저장 위치서버 메모리 (in-memory), 필요 시 Redis 등 외부 저장소로 대체 가능Spring 역할Spring 은 HttpSession 에 접근하거나, 추가 기능을 제공하는 수준(예: 세션 리스너 등록, 커스텀 세션 전략 등) ✅ 기본 흐름 클라이언트가 요청을 보냄(JSESSIONID쿠키 포함 OR 없음)서블릿 컨테이너(Tomcat 등)가 HttpSession 생성 또는 식별Spring 은 내부적으로 HttpServletRequest.getSession(..
Spring 에서 Session 관리 주체Spring 에서의 세션(Session) 은 기본적으로 서블릿 컨테이너(예: Tomcat, Jetty 등) 에 의해 관리된다. 🔍 기본 세션 관리 구조 항목내용세션 저장소기본적으로 서블릿 컨테이너가 HttpSession 객체를 사용해 관리저장 위치서버 메모리 (in-memory), 필요 시 Redis 등 외부 저장소로 대체 가능Spring 역할Spring 은 HttpSession 에 접근하거나, 추가 기능을 제공하는 수준(예: 세션 리스너 등록, 커스텀 세션 전략 등) ✅ 기본 흐름 클라이언트가 요청을 보냄(JSESSIONID쿠키 포함 OR 없음)서블릿 컨테이너(Tomcat 등)가 HttpSession 생성 또는 식별Spring 은 내부적으로 HttpServletRequest.getSession(..
2025.08.05 -
Spring Security 설정 시 Session 생성에 관해 궁금하여 작성하게 되었다. Spring Security는 csrf 가 기본적으로 enable() 설정되어 있다. 매번 csrf 설정을 disable() 설정 하다보니 자동으로 Session이 생성되어 있고 서버와 통신할 때 CSRF 토큰값을 확인하지 않아 특정 에러가 발생하는걸 발견하지 못했다. 하지만 csrf 설정을 하다가 에러를 발견했다. 본인은 특정 게시판을 만드는데 로그인을 하지 않았을땐 메인페이지가 떠야하나 위와 같은 에러가 발생했다. 모든 요청(ajax) 에 대해 csrf 값을 체크하는데 세션이 존재하지 않아 뜨는듯한 느낌이였다. 일단 Spring 에서의 HttpSession 은 누가 생성하는가 봤더니 서블릿 컨테이너가 생성한다고..
[Spring Security] Cannot create a session after the response has been committed (세션 에러)Spring Security 설정 시 Session 생성에 관해 궁금하여 작성하게 되었다. Spring Security는 csrf 가 기본적으로 enable() 설정되어 있다. 매번 csrf 설정을 disable() 설정 하다보니 자동으로 Session이 생성되어 있고 서버와 통신할 때 CSRF 토큰값을 확인하지 않아 특정 에러가 발생하는걸 발견하지 못했다. 하지만 csrf 설정을 하다가 에러를 발견했다. 본인은 특정 게시판을 만드는데 로그인을 하지 않았을땐 메인페이지가 떠야하나 위와 같은 에러가 발생했다. 모든 요청(ajax) 에 대해 csrf 값을 체크하는데 세션이 존재하지 않아 뜨는듯한 느낌이였다. 일단 Spring 에서의 HttpSession 은 누가 생성하는가 봤더니 서블릿 컨테이너가 생성한다고..
2022.11.28