원본 본문으로 이동하기

Spring session cookie 도메인 지정하기

박용서 - 서블릿을 사용했을 때에는 톰켓의 context 의 sessionCookieDomain 을 통해서 도메인을 지정했습니다. 이전 강의에서도 잠깐 등장한적이 있는 org.springframework.session.web.http.CookieSerializer 을 통해서도 세션 쿠키 도메인을 지정할 수 있습니다. @Bean public CookieSerializer cookieSerializer() { DefaultCookieSerializer serializer = new DefaultCookieSerializer(); ... serializer.setDomainNamePattern("[^\\.]+\\.[a-z]+$"); ... return serializer; } 바로 DefaultCookieSerializer.setDomainNamePattern 을 통해서 지정 할 수 있습니다. http://docs.spring.io/spring-session/docs/current/reference/html5/guides/custom-cookie.html 정규식에 도메인이름을 매칭시키고 매칭되는 부분이 있다면 해당 이름으로 매칭되지 않는다면 현재 들어온 호스트로 지정하게 됩니다. 즉 "[^\\.]+\\.[a-z]+$" 이런식으로 설정하게된다면 saro.me -> [saro.me] -> saro.me gs.saro.me -> gs.[saro.me] -> saro.me 3.ab3c.saro.me -> 3.ab3c.[saro.me] -> saro.me localhost -> 매칭불가 -> localhost 127.0.0.1 -> 매칭불가 -> 127.0.0.1 즉 도메인을 지정해줘야하는 상황에서도 정규식으로 조금만 생각해보면 서비스 서버와 로컬 테스트(localhost)를 별도로 지정하지 않고 테스트 할 수 있습니다. - Tomcat 스프링