중복로그인 관련입니다.

plzma의 이미지

지금은 중복로그인 개발하고 있는데요. httpsessionbindinglistener를 통해서
로그인을 하면 이전에 로그인 되어있던 브라우저에 세션은 끊어지게 했습니다.

그런데 단지 세션만 끊는게 아니라 전에 로그인했던 사용자에게 alert창을 띄운다던지..
로그아웃을 시킨다던지 하는 이벤트를 방생시킬 수 있는 방법을 찾고 있습니다.

처음 사용자가가 아무 이벤트를 직접 발생시키지 않아도
다른 컴에서 같은 아이디로 로그인 했을때 이전 사용자가 알수 있도록.. 하는
방법을 알고 싶습니다.

snowall의 이미지

로그인이 끊기는 순간에 곧바로 알려줘야 하는 상황이 아니라면, 헤더에서 로그인 체크할 때 중복로그인이 검출되거나 로그인이 풀려있다면 경고창을 보여주면 되지 않을까요?

페이지 이동을 하지 않아도 로그인이 풀리는 순간 알려줘야 한다면, ajax같은 것을 쓰면 되지 않을까요?

피할 수 있을때 즐겨라! http://melotopia.net/b

dgkim의 이미지

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

plzma의 이미지

그 말씀은 주기적으로 체크를 하라는 말씀이신가요?
주기적으로 체크를 하는것은 부하가 많이 걸릴것 같아서요.

클라이언트 쪽에서 체크를 해서 이벤트를 발생시키는게 아니라
서버쪽에서 이전 클라이언트의 세션을 끊을때 끊는것 이외에도 클라이언트 자체에
이벤트를 발생시켜 줄 수 있을까 해서요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.