• 개발환경
  • 실행환경
  • 실행환경 예제
  • 공통컴포넌트
개발환경 실행환경 실행환경 예제 공통컴포넌트
  • 공통컴포넌트 개요
  • 사용자디렉토리/통합인증
  • 보안
  • 통계/리포팅
  • 협업
  • 사용자지원
  • 시스템관리
  • 시스템/서비스연계
  • 디지털 자산관리
  • 요소기술
공통컴포넌트 개요
  • 공통컴포넌트 시작하기
  • 공통컴포넌트 환경설정
  • 공통컴포넌트 배포 파일의 구성
  • 공통컴포넌트 테이블 구성 정보
  • 패키지 간 참조 관계
사용자디렉토리/통합인증
    일반 로그인
    • SSO 연계서비스
  • 인증서로그인
  • 로그인정책관리
  • 디지털원패스
보안
  • 권한관리
  • 권한그룹관리
  • 그룹관리
  • 롤관리
  • 부서권한관리
  • 암호화 복호화
  • 로그인 시간관리
  • 비밀번호 만료기간 관리
통계/리포팅
  • 게시물 통계
  • 사용자 통계
협업
  • 게시판
  • 커뮤니티
  • 문자메세지
  • 일정관리
  • 전자결재
  • 주소록/명함록
사용자지원
  • 사용자관리
  • 개인화
  • 약관관리
  • 온라인헬프
  • 온라인참여
  • 정보제공/알림
시스템관리
  • 공통코드관리
  • 로그관리
  • 배치관리
  • 메뉴관리
  • 프로그램관리
  • 시스템관리
  • 장애관리
시스템/서비스연계
    디지털 자산관리
    • 지식맵
    요소기술
      신규 컴포넌트(v3.2)
      • 이중등록(Double Submit) 방지
      • Http Request 정보 취득
      • 숫자 지역화 처리
      • 날짜 지역화 처리
      • showModalDialog 대체 기능
      • HTTPS UrlRewrite filter
      • 중복 로그인 방지 기능
      • 출퇴근 관리
      • Resource close 처리
      • Basic 로그
      외부 추가 컴포넌트
      • EasyBatch(v3.2 신규)
      • Social Login(Naver, Google, KAKAO)
      • LDAP조직도관리(v3.2 신규)
      • 웹소켓메신저(v3.2 신규)
      메시지 처리
      • 경고메시지
      • 에러메시지
      • 정보메시지
      • 확인메시지
    • 인쇄/출력
    • 쿠키/세션
    • 달력
    • 인터페이스/화면
    • 웹에디터
    • 포맷/계산/변환
    • 시스템
    페이지보기 페이지편집 문서에 이슈 생성 프로젝트에 이슈 생성

    공통컴포넌트

      • 공통컴포넌트 시작하기
      • 공통컴포넌트 환경설정
      • 공통컴포넌트 배포 파일의 구성
      • 공통컴포넌트 테이블 구성 정보
      • 패키지 간 참조 관계
        • SSO 연계서비스
      • 인증서로그인
      • 로그인정책관리
      • 디지털원패스
      • 권한관리
      • 권한그룹관리
      • 그룹관리
      • 롤관리
      • 부서권한관리
      • 암호화 복호화
      • 로그인 시간관리
      • 비밀번호 만료기간 관리
      • 게시물 통계
      • 사용자 통계
      • 게시판
      • 커뮤니티
      • 문자메세지
      • 일정관리
      • 전자결재
      • 주소록/명함록
      • 사용자관리
      • 개인화
      • 약관관리
      • 온라인헬프
      • 온라인참여
      • 정보제공/알림
      • 공통코드관리
      • 로그관리
      • 배치관리
      • 메뉴관리
      • 프로그램관리
      • 시스템관리
      • 장애관리
        • 지식맵
          • 이중등록(Double Submit) 방지
          • Http Request 정보 취득
          • 숫자 지역화 처리
          • 날짜 지역화 처리
          • showModalDialog 대체 기능
          • HTTPS UrlRewrite filter
          • 중복 로그인 방지 기능
          • 출퇴근 관리
          • Resource close 처리
          • Basic 로그
          • EasyBatch(v3.2 신규)
          • Social Login(Naver, Google, KAKAO)
          • LDAP조직도관리(v3.2 신규)
          • 웹소켓메신저(v3.2 신규)
          • 경고메시지
          • 에러메시지
          • 정보메시지
          • 확인메시지
        • 인쇄/출력
        • 쿠키/세션
        • 달력
        • 인터페이스/화면
        • 웹에디터
        • 포맷/계산/변환
        • 시스템
      1. Home
      2. 공통컴포넌트
      3. 요소기술
      • 페이지 보기
      • 페이지 편집
      • 문서에 이슈 생성
      • 프로젝트에 이슈 생성

      이 페이지의 구성

      LDAP조직도관리(v3.2 신규)

      • 개요
      • 설명
        • 조직도 조회 화면1 - 트리형태
        • 조직도 조회 화면2 - 차트(그래프)형태
        • 관련 패키지 및 소스
      • 사용방법
        • object class :: ucOrg2
        • object class :: User
      • 조직도 조회화면 테스트방법

      개요

      LDAP조직도관리는 조직과 사용자 정보를 효율적으로 관리하기 위한 컴포넌트로,
      LDAP과의 연계를 통해 조회 성능을 향상시키고, 차트형태와 같이 다양한 방식으로 조직도를 표현할 수 있는 기능을 제공한다.

      LDAP조직도관리는 아래와 같은 기능을 포함한다.

      기능설명
      조직도 조회LDAP에 저장된 조직도 정보를 트리형태 또는 차트형태로 렌더링
      엔트리 동적생성 기능UI를 통한 새로운 엔트리 추가 기능
      엔트리 정보 편집UI를 통한 기존 엔트리 속성값수정/삭제/이동 기능
      행자부 표준지원행자부 유통표준 LDAP스키마인 UCORG2를 지원

      설명

      LDAP조직도관리 컴포넌트에서 조직도 정보는 아래와 같이 트리형태과 차트형태 두가지로 표현한다.
      엔트리 추가/수정/삭제를 위한 컨텍스트 메뉴는 트리형태로 표현된 경우에만 제공한다.

      조직도 조회 화면1 - 트리형태

      • ‘/ext/ldapumt/dpt/selectDeptManageTreeView.do?baseDn=…‘을 이용해 LDAP 서버로부터 데이터를 조회하면, 조직도 정보가 화면 왼쪽에 트리형태로 표현된다.
      • 하나의 엔트리가 하위 엔트리를 가지는 경우, 해당 엔트리 앞에 삼각형으로 표시된다.
      • 각 엔트리에 대한 상세 정보는 오른쪽 화면에 출력되고, 데이터를 변경한 후 저장 버튼을 누르면 LDAP 서버에 변경된 데이터가 저장된다.
      • 조직도 정보는 최초 request로 넘어온 dn의 하위 엔트리에 대해서만 조회를 하고, 하위 엔트리의 펼침 버튼을 눌렀을 때만 LDAP에서 추가 조회하기 때문에 부하를 최소화할 수 있다.

      image

      조직도 컨텍스트 메뉴

      • 컨텍스트 메뉴를 이용하면 화면상에서 부서와 사용자 엔트리를 추가할 수 있고, 원하는 엔트리 이름을 변경하거나 삭제할 수 있다.
      • 트리목록 중 변경을 원하는 엔트리 위치에서 마우스 우클릭하면 컨텍스트 메뉴가 나온다.
      컨텍스트 메뉴하위 메뉴설명
      추가부서, 사용자엔트리 추가
      이름변경-엔트리 이름 변경
      삭제-엔트리 삭제
      편집이동부서선택엔트리 위치 이동

      image

      조직도 조회 화면2 - 차트(그래프)형태

      • ‘/ext/ldapumt/dpt/selectDeptManageOrgChartView.do?baseDn=…‘을 이용해 LDAP 서버로부터 데이터를 조회하면, 조직도 정보가 차트 형태로 표현된다.
      • 엔트리를 한번 클릭하면 우측 하단에 엔트리 상세정보가 나타나며, 내용을 변경할 수 있다.
      • 엔트리를 더블 클릭을 하면 하위 엔트리를 LDAP에서 추가 조회하여 동적으로 보여준다.

      image

      관련 패키지 및 소스

      유형소스설명
      Controlleregovframework.com.ext.ldapumt.web.EgovOrgManageLdapController.java조직도 관리를 위한 컨트롤러 클래스
      VOegovframework.com.ext.ldapumt.service.LdapTreeObject.java웹에서의 tree구현을 위한 오브젝트 클래스
      VOegovframework.com.ext.ldapumt.service.LdapObject.javaLDAP과 인터페이스를 위한 추상클래스
      VOegovframework.com.ext.ldapumt.service.UcorgVO.java부서 VO클래스
      VOegovframework.com.ext.ldapumt.service.UserVO.java사용자 VO클래스
      Serviceegovframework.com.ext.ldapumt.service.EgovOrgManageLdapService.java조직도 관리를 위한 서비스 인터페이스
      ServiceImplegovframework.com.ext.ldapumt.service.impl.EgovOrgManageLdapServiceImpl.java조직도 관리를 위한 서비스 구현클래스
      Execute Interfaceegovframework.com.ext.ldapumt.service.impl.Executable.javaORMapping 지원을 위한 클래스
      Object Mapperegovframework.com.ext.ldapumt.service.impl.ObjectMapper.javaLdapTemplate을 사용하기 위한 ObjectMapper클래스
      DAOegovframework.com.ext.ldapumt.service.impl.OrgManageLdapDAO.java조직도 관리를 위한 추상 Data Access Object
      DAOegovframework.com.ext.ldapumt.service.impl.DeptManageLdapDAO.java부서 관리를 위한 Data Access Object
      DAOegovframework.com.ext.ldapumt.service.impl.com.ext.ldapumt.service.impl.UserManageLdapDAO.java사용자 관리를 위한 Data Access Object
      XML/resources/egovframework/spring/com/context-ldap.xmlLDAP Spring 설정 관련 XML
      패키지/html/egovframework/com/ext/ldapumtJSTree 패키지
      JSP/WEB-INF/jsp/egovframework/com/ext/ldapumt/EgovDeptManageTree.jsp조직도 관리를 위한 트리 JSP 페이지
      JSP/WEB-INF/jsp/egovframework/com/ext/ldapumt/EgovDeptManageOrgChart.jsp조직도 관리를 위한 조직도 차트 JSP 페이지

      아키텍쳐

      image

      클래스 다이어그램

      image

      사용방법

      1. ldap 서버와 연결하기 위한 서버 연결 정보를 context-ldap.xml파일에 작성한다.
      <ldap:context-source url="LDAP 서버 URL" base="최상위 DN" username="LDAP 서버 ID" password="LDAP 서버 PASSWORD" />
      <!-- 예시, <ldap:context-source url="ldap://localhost:10389" base="c=kr" username="uid=admin,ou=system" password="secret" /> -->
      
      1. ldap 서버에 저장된 데이터를 조회하기 위한 URL 호출 방법은 다음과 같다. - 트리형태로 보기
      /ext/ldapumt/dpt/selectDeptManageTreeView.do?baseDn=[DN|RDN]
      //예시, /ext/ldapumt/dpt/selectDeptManageTreeView.do?baseDn=o=Government of Korea
      
      • 차트형태로 보기
      /ext/ldapumt/dpt/selectDeptManageOrgChartView.do?baseDn=[DN|RDN]
      //예시, /ext/ldapumt/dpt/selectDeptManageOrgChartView.do?baseDn=o=Government of Korea
      
      1. LDAP조직도관리 컴포넌트를 위한 조직 스키마(ucOrg2)와 조직원 스키마(User)가 담긴 LDIF 파일
        (단, 아래 파일은 ApacheDS 서버에서 export한 파일임, 다른 서버에서 import할 경우 정상적으로 import되지 않을 수 있음)

      schema.zip

      object class :: ucOrg2

      attributedescriptionattributedescriptionattributedescription
      docSystemInfo기관별 문서함ou해당기관의 명칭(필수)ouCode기관코드(필수)
      ouDocumentReceipientSymbol수신 문서 symbolouLevel조직의 차수ouOrder차상위 기관내의 조직의 서열
      ouReceiveDocumentYN대외문서 처리과여부ouSendOutDocumentYN대외문서 송신여부ouSMTPAddress조직 전자메일 주소
      parentouCode차상위 기관코드repouCode대표기관코드signCertificate서명용 전자 관인
      topouCode최상위 기관코드typeBig대분류typeMid중분류
      typeSml소분류ucChieftitle발신인명의ucOrganizationalUnitName해당 기관의 명칭
      ucOrgFullName상위기관을 포함한 전체 조직명useGroupware조직 사용하는 그룹웨어명userCertificate조직 인증서 정보
      wsignCertificate무선 서명용 인증서wuserCertificate무선 암호화용 인증서

      object class :: User

      attributedescriptionattributedescriptionattributedescription
      birthday생일business업무cn행정전자서명 아이디
      companyName사용자가 속한 부처명departmentName사용자가 속한 실국명dispatchYN파견여부
      displayName화면에 보여줄 사용자의 이름 예) 홍길동facsimileTelephoneNumber회사팩스번호givenName사용자의 영문이름
      grade직급homePhone사용자의 집 전화번호homePostalAddress집주소
      insayn인사권한여부mailSMTPmgrTopOuCode최상위 기관코드
      mobile사용자의 휴대 전화번호office사용자의 사무실 전화번호orgManagerYN관리자여부
      ou해당기관의 명칭ouCode기관코드ouLevel조직의 차수
      ouOrder차상위 기관내의 조직의 서열parentouCode차상위 기관코드position사용자직위
      postalAddress회사주소RegDate등록일RegDestType등록목적타입
      repouCode대표기관코드signCertificate서명용 전자관인telephoneNumber회사전화번호
      topouCode상위기관코드ucOrgFullName상위기관포함 전체 조직명useEndDate사용종료일
      userCertificate사용자 인증서 정보userFullName자신이 속한 조직 전체명 + 사용자명userType사용자 타입
      useStartDate사용시작일wsignCertificate무선 서명용 인증서wuserCertificate무선 암호화용 인증서

      조직도 조회화면 테스트방법

      1. [환경구성 및 설치] Apache Directory Studio 2.0.0 설치 후 Apache Directory Studio.exe 실행
      • 설치 - https://directory.apache.org/studio/downloads.html
      1. [서버 생성] LDAP Servers 탭 > ApacheDS 2.0.0 더블클릭 (없으면 추가) > Partitions 탭 > Add 버튼 > 아래와 같이 입력 후 저장 (Ctrl + S)

      image

      1. [서버 실행] LDAP Servers 탭 > ApacheDS 2.0.0 우클릭 > Create a Connection, Run (서버 실행)

      2. [LDAP 디렉토리 생성] Connections 탭 > ApacheDS 2.0.0 더블클릭 > LDAP Browser 탭 > DIT-Root DSE-c=kr 디렉토리 생성 확인

      image

      1. [LDAP 스키마 추가] LDAP Browser 탭 > DIT 우클릭 > Import > LDIF Import > Browse > schema.ldif 선택 > Finish
        (Import 결과, ou=schema > cn=schema 아래 ou=attributetypes, ou=objectclasses 디렉토리 생성)

      image

      1. [LDAP 엔트리 생성] 조직(ucOrg2)과 조직원(User) 스키마를 기준으로 필요한 조직, 조직원 엔트리를 생성 (아래는 예시)
      c=kr
        o=Government of Korea --- 1)
           ou=Seoul            --- 2)
              ou=organization1
                ou=department1
                ou=department2
              ou=organization2
              ou=people
                cn=honggildong --- 3)
                cn=kimmimi
      
        1. c=kr 우클릭 > New Entry > Next > object classes에서 ‘organization’ Add > RDN 입력 (o=Government of Korea)
        1. o=Government of Korea 우클릭 > New Entry > Next > object classes에서 ‘ucOrg2’ 입력 후 새로고침 버튼 > Add > RDN 입력 (ou=Seoul) > Attribute 추가 입력(동일한 방식으로 ou=organization1, 2와 ou=department1, 2, ou=people 생성)
        1. ou=people 우클릭 > New Entry > Next > object classes에서 ‘User’ 입력 후 새로고침 버튼 > Add > RDN 입력 (cn=honggildong) > Attribute 추가 입력
      1. [최종 결과] 실행 결과 및 URL 호출 방법 (현재 조직정보는 필수값만 입력된 상태)
      • o=Government of Korea를 기준으로 조회한 화면

      image

      • ou=people,ou=Seoul,o=Government of Korea를 기준으로 조회한 화면

      image

      • 대표전화  1566-3598 (070-4448-2678)
      • 대표문의메일  egovframesupport@gmail.com
      전자정부 표준프레임워크 Git
      이용 안내 라이센스

      COPYRIGHT (C) 2024 eGovFramework. ALL RIGHTS RESERVED.