이중화된 was 의 세션 얻어오기..
- 작성자 :
- 성*빈
- 작성일 :
- 2014-08-11 11:14:58
- 조회수 :
- 2,134
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요.
저희 홈페이지 환경은
서버 이중화에 (l4) , (제우스)세션서버를 설정하여 운영중입니다.
다중로그인 방지 구현 중
세션리스너를 사용하여 개발중인데요.
문제는 이전 사용자의 세션 id는 받아왔지만
그해당 id로 세션을 어떻게 얻어오는지 모르겠습니다.
서블릿 getSessionContext().getSession('id') 는 이제 못쓴다고 하고..
대처방안으로 applicationContext 에 저장소(map<String, HttpSession>)을 두어 사용하면 이중화된 컨테이너끼리
어떻게 공유를 해야될지 막히는 상황입니다.
일반적으로 이러한 환경은 어떻게 처리 하는지 알고싶습니다.
스프링 security말고 조언부탁드려요~ ㅜㅜ
감사합니다.
저희 홈페이지 환경은
서버 이중화에 (l4) , (제우스)세션서버를 설정하여 운영중입니다.
다중로그인 방지 구현 중
세션리스너를 사용하여 개발중인데요.
문제는 이전 사용자의 세션 id는 받아왔지만
그해당 id로 세션을 어떻게 얻어오는지 모르겠습니다.
서블릿 getSessionContext().getSession('id') 는 이제 못쓴다고 하고..
대처방안으로 applicationContext 에 저장소(map<String, HttpSession>)을 두어 사용하면 이중화된 컨테이너끼리
어떻게 공유를 해야될지 막히는 상황입니다.
일반적으로 이러한 환경은 어떻게 처리 하는지 알고싶습니다.
스프링 security말고 조언부탁드려요~ ㅜㅜ
감사합니다.
A
안녕하세요. 성효빈님.
Spring Security를 사용하지 않으시고, Session replication 기능을 사용하신다면, 단순히 HttpServletReqeust의 getSession()을 통해 현재 ID에 해당되는 세션을 가져오시면 됩니다.
기존에 사용하셨던 HttpSessionContext는 보안 상의 문제로 Sevlet 2.1부터 deprecated되었고, JSESSIONID에 대한 직접적인 지정을 하실 필요가 없습니다.
WAS간 내부적으로 생성된 세션에 대한 모든 정보를 공유하기 때문에 어떤 WAS에서 getSession() 하시더라고 현재 브라우저의 JSESSIONID(cookie)으로 세션을 가져오실 수 있습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
Spring Security를 사용하지 않으시고, Session replication 기능을 사용하신다면, 단순히 HttpServletReqeust의 getSession()을 통해 현재 ID에 해당되는 세션을 가져오시면 됩니다.
기존에 사용하셨던 HttpSessionContext는 보안 상의 문제로 Sevlet 2.1부터 deprecated되었고, JSESSIONID에 대한 직접적인 지정을 하실 필요가 없습니다.
WAS간 내부적으로 생성된 세션에 대한 모든 정보를 공유하기 때문에 어떤 WAS에서 getSession() 하시더라고 현재 브라우저의 JSESSIONID(cookie)으로 세션을 가져오실 수 있습니다.
그럼, 즐거운 하루되십시오.
감사합니다.