티스토리 뷰

728x170

 포스팅은 JEUS 중복로그인 방지기능 대해 알아보겠습니다.


보통 중복 로그인 방지를 위해서는 application에서 로그인한 ID를 DB나 memory에 저장한 후 동일한 ID가 로그인 하였을 때 이를 체크하여 중복 로그인을 방지합니다. 이러한 기능을 WAS에서 처리할 수 있도록 기능이 추가되었습니다.


JEUS7의 중복로그인 방지는 다른 세션에 대해 동일한 아이디로 로그인을 수행한 경우 기존의 로그인을 수행하였던 세션을 세션서버에서 제거하여 근본적으로 중복 로그인을 방지합니다.




[사용방법]

사용방법은 아래의 3단계로 요약할 수 있습니다.

1. JEUS 환경 설정

중복 로그인 방지 기능을 위해 Login Manager는 기존의 중앙 세션 서버와 유사하게 구성됩니다. 중복방지할 사용자 ID를 저장히고 있는 primary/backup서버를 지정해야 합니다.

http-session-config 방식 또는 cluster 방식에서 모두 사용가능하며 각 메뉴의 session-config 설정 메뉴를 들어가면 [JEUS Login Manager]->[primary/backup] 서버를 지정할 수 있습니다. 여러 ms중 primary/backup서버로 구성할 ms 이름을 입력하시면 됩니다.




 

2. Application 환경설정

jeus-web-dd.xml에 중복로그인 방지 기능을 활성화 해야 합니다.

<?xml version=”1.0″?>

<jeus-web-dd xmlns=”http://www.tmaxsoft.com/xml/ns/jeus“>

    <enable-jsp>true</enable-jsp>

    …

    <use-jeus-login-manager>true</use-jeus-login-manager>

</jeus-web-dd> 

 

3. Application 코딩

로그인은 애플리케이션에서 이벤트이므로 Jeus Login Manager에서 로그인 이벤트를 전달하는 방법에는 제약 사항이 존재한다. Jeus Login Manager에서는 기본적으로 JEUS_LOGIN_KEY“로 setAttribute를 수행하였을 경우 로그인으로 판단한다. 이 값은 jeus-web-dd.xml의 Properties에 “jeus.application.login.key”로 변경 가능하다. 동일한 약속된 key로 removeAttribute를 수행하였을 경우 로그아웃을 수행하며 invalidate된 세션은 자동으로 로그아웃이 수행된다.

로그인을 수행하는 source에서 세션을 생성 시 아래의 코드를 추가적으로 삽입해야 합니다.

session.setAttribute(“JEUS_LOGIN_KEY”,”사용자ID”);

이 때 JEUS 서버에서는 기존에 로그인하였던 사용자 ID의 세션을 세션서버에서 invalidate를 수행하게 됩니다

[jeus-web-dd.xml] 

<?xml version="1.0"?>

<jeus-web-dd xmlns="http://www.tmaxsoft.com/xml/ns/jeus">

    <!-- the URL path of the context.  -->

    <context-path>/examples</context-path>

    <use-jeus-login-manager>true</use-jeus-login-manager>

    <properties>

        <property>

            <key>myKey</key>

            <value>jeus.application.login.key</value>

        </property>

    </properties>

</jeus-web-dd>


중복 로그인 방지 기능은 일반적을 외부 환경에서 사용하던 로그인 환경을 강제로 끊어 버릴수 있도록 하는 기능입니다.

보안상 매우 중요한 기능이라고 할 수 있습니다.

사이트 도입을 검토하시는 분들께 유용한 글이 되었으면합니다.

그리드형
댓글
댓글쓰기 폼