오랜만에 spring security를 사용하지 않는 프로젝트를 생성,
별도로 session에 값을 넣어주고 체크하는 로직을 구현
클라이언트의 첫 요청시,
[서버]
1. session 생성
2. 클라이언트가 cookie 사용 가능한지 모름
3. url과 cookie 모두에 session에 접근할 수 있는 정보를 제공(=jsessionid)
=> url suffix로 jsessionid값이 추가된다.
Session의 TrackingMode에 Cookie 방식을 추가해주면,
서버는 원인 파악 - 서버의 3단계에서
=> url suffix에 jsessionid값이 사라진다!
@Bean
public ServletContextInitializer configSession() {
return servletContext -> {
servletContext.setSessionTrackingModes(Collections.singleton(SessionTrackingMode.COOKIE));
servletContext.getSessionCookieConfig()
.setHttpOnly(true);
};
}