DS's『 행복합시다 』

Carpe Programming/etc

[tomcat] session 공유되는 문제

nolite 2012. 1. 26. 10:53

완전히 다른 tomcat 2개에서 한쪽 로그인 할경우 다른쪽 로그인이 풀리는 현상이 생긴다.
포트도 틀리고 모든게 틀린데 왜 이런 현상이 일어난다.
--------------------------------------------------------------------------------

=>

혹시 아이피나 도메인은 같고 포트만 틀릴 경우 가정.

tomcat 에서 세션 값을 체크하는 방법은 JSESSIONID 라는 쿠키 값을 이용하여 세션 체크를함.

ex)
1. 브라우저 킨 후 1번 어플리케이션 로그인
2. tomcat서버에서 발급해 준 JSESSIONID=1111 값이 1번 톰켓 session 객체에 저장
3. client 브라우저 쿠키 정보에 JSESSIONID=1111 값 저장
- 로그인 한 계정의 세션 체크는 전적으로 JSESSIONID=1111이라는 값을 이용하여 판단합니다.
4. 2번 어플리케이션 로그인
5. tomcat서버에서 발급해 준 JSESSIONID=2222 값이 2번 톰켓 session 객체에 저장
6. client 브라우저 쿠키 정보에 JSESSIONID=2222 값 저장
7. 여기서 문제가 발생. 2번 째 로그인 할 때의 쿠키 이름이 같기 때문에 쿠키 값이 client 브라우저 쿠키 정보에 저장될 때 덮어쳐서 저장되는 현상이 발생

위와 같은 현상을 해결하기 위해서는 다음과 같이 조치.

server.xml의 context에 다음을 추가
1번 어플리케이션 : sessionCookieName="admin_JSESSIONID"
2번 어플리케이션 : sessionCookieName="dev_JSESSIONID"


[출처] - http://okjsp.pe.kr/seq/182737
728x90