중복로그인 관련입니다.
글쓴이: plzma / 작성시간: 월, 2012/06/18 - 2:40오후
지금은 중복로그인 개발하고 있는데요. httpsessionbindinglistener를 통해서
로그인을 하면 이전에 로그인 되어있던 브라우저에 세션은 끊어지게 했습니다.
그런데 단지 세션만 끊는게 아니라 전에 로그인했던 사용자에게 alert창을 띄운다던지..
로그아웃을 시킨다던지 하는 이벤트를 방생시킬 수 있는 방법을 찾고 있습니다.
처음 사용자가가 아무 이벤트를 직접 발생시키지 않아도
다른 컴에서 같은 아이디로 로그인 했을때 이전 사용자가 알수 있도록.. 하는
방법을 알고 싶습니다.
Forums:
로그인이 끊기는 순간에 곧바로 알려줘야 하는 상황이
로그인이 끊기는 순간에 곧바로 알려줘야 하는 상황이 아니라면, 헤더에서 로그인 체크할 때 중복로그인이 검출되거나 로그인이 풀려있다면 경고창을 보여주면 되지 않을까요?
페이지 이동을 하지 않아도 로그인이 풀리는 순간 알려줘야 한다면, ajax같은 것을 쓰면 되지 않을까요?
피할 수 있을때 즐겨라! http://melotopia.net/b
2가지 방법이 생각납니다.
0. session 리스너를 사용했으니, session 리스너가 session 목록을 가지고 있으며, 먼저 로그인한 세션을 session.invalidate를 시킨다고 가정합니다. 물론, session.invalidate 수행후에 해당 사용자가 액션을 일으키면, 컨테이너가 login 페이지로 분기시켜줄 것입니다.(혹은, 프로그램 권한 체크 수행후 이동. )
1. snowall 님도 언급하신과 같이, 사용자 화면에서 ajax 콜로 세션 체크를 주기적으로 하는 방법입니다.
2. HTML5 WebSocket. HTML5에서는 WebSocket이라고 하여, 일반 소켓통신 같이 접속을 유지해 주는 기술이 있다고 합니다. 단, 브라우저와 서버가 최신 버전으로 구성될 수 있어야 하는 조건이 있습니다.
https://www.google.com/search?q=websocket&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ko:official&client=firefox-a
http://en.wikipedia.org/wiki/WebSocket
https://www.google.com/search?q=websocket+%EC%98%88%EC%A0%9C&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ko:official&client=firefox-a
http://blog.jhoney.net/430
그 말씀은 주기적으로 체크를 하라는
그 말씀은 주기적으로 체크를 하라는 말씀이신가요?
주기적으로 체크를 하는것은 부하가 많이 걸릴것 같아서요.
클라이언트 쪽에서 체크를 해서 이벤트를 발생시키는게 아니라
서버쪽에서 이전 클라이언트의 세션을 끊을때 끊는것 이외에도 클라이언트 자체에
이벤트를 발생시켜 줄 수 있을까 해서요.
댓글 달기