이 사이트는 전자정부 표준프레임워크 구버전(1.0 ~ 4.3) 가이드 아카이브입니다. 내용은 더 이상 갱신되지 않습니다. 최신 내용은 최신 버전 문서에서 확인하세요.

공통컴포넌트 3

개인정보조회 로그관리

개요

개인정보조회 로그관리는 사용자가 개인정보를 조회한 로그 정보를 검색, 조회하는 기능을 제공한다.

설명

개인정보조회 로그관리는 개인정보조회로그의 등록, 조회, 목록의 기능을 수반한다.

  ① 개인정보조회 로그 등록 : 개인정보조회 정보를 등록한다. - AOP 기능을 이용
  ② 개인정보조회 로그 목록 : 개인정보조회 정보의 목록을 검색, 조회한다.
  ③ 개인정보조회 로그 조회 : 개인정보조회 정보의 상세내용을 조회한다.

패키지 참조 관계

개인정보조회 로그관리 패키지는 요소기술의 공통(cmm) 패키지에 대해서만 직접적인 함수적 참조 관계를 가진다. 하지만, 컴포넌트 배포 시 오

류 없이 실행되기 위하여 패키지 간의 참조관계에 따라 달력 패키지와 함께 배포 파일을 구성한다.

관련소스

관련소스
유형대상소스명비고
Controlleregovframework.com.sym.log.plg.web.EgovPrivacyLogController.java개인정보조회 로그 관리를 위한 컨트롤러 클래스
Serviceegovframework.com.sym.log.plg.service.EgovPrivacyLogService.java개인정보조회 로그 관리를 위한 서비스 인터페이스
ServiceImplegovframework.com.sym.log.plg.service.impl.EgovPrivacyLogServiceImpl.java개인정보조회 로그 관리를 위한 서비스 구현 클래스
Modelegovframework.com.sym.log.plg.service.PrivacyLog.java개인정보조회 로그 관리를 위한 VO 클래스
DAOegovframework.com.sym.log.plg.service.impl.PrivacyLogDAO.java개인정보조회 로그 관리를 위한 데이터처리 클래스
Aspectegovframework.com.sym.log.plg.service.EgovPrivacyLogAspect.java개인정보조회 로그 등록을 위한 Aspect 클래스
Configegovframework.com.sym.log.plg.service.EgovPrivacyLogConfig.java개인정보조회 로그 관련 JavaConfig (ID Generation 설정 포함)
JSP/WEB-INF/jsp/egovframework/공통컴포넌트/com/sym/log/plg/EgovPrivacyLogList.jsp개인정보조회 로그 목록을 위한 jsp페이지
JSP/WEB-INF/jsp/egovframework/공통컴포넌트/com/sym/log/plg/EgovPrivacyLogInqire.jsp개인정보조회 로그 조회를 위한 jsp페이지
QUERY XMLresources/egovframework/sqlmap/com/sym/log/plg/EgovPrivacyLog_SQL_Mysql.xml개인정보조회 로그 관리 MySQL용 QUERY XML
QUERY XMLresources/egovframework/sqlmap/com/sym/log/plg/EgovPrivacyLog_SQL_Oracle.xml개인정보조회 로그 관리 Oracle용 QUERY XML
QUERY XMLresources/egovframework/sqlmap/com/sym/log/plg/EgovPrivacyLog_SQL_Tibero.xml개인정보조회로그 관리 Tibero용 QUERY XML
QUERY XMLresources/egovframework/sqlmap/com/sym/log/plg/EgovPrivacyLog_SQL_Altibase.xml개인정보조회로그 관리 Altibase용 QUERY XML
QUERY XMLresources/egovframework/sqlmap/com/sym/log/plg/EgovPrivacyLog_SQL_Cubrid.xml개인정보조회로그 관리 Cubrid용 QUERY XML

ID Generation

ID Generation 관련 DDL 및 DML

  • ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 PRIVACYLOG_ID 항목을 추가한다.
  CREATE TABLE COMTECOPSEQ ( TABLE_NAME VARCHAR(16) NOT NULL, 
  		   next_id DECIMAL(30) NOT NULL,
  		   PRIMARY KEY (TABLE_NAME));
 
  INSERT INTO COMTECOPSEQ VALUES('PRIVACYLOG_ID','0');
 

ID Generation 환경설정(EgovPrivacyConfig.java)

JavaConfig 방식으로 EgovPrivacyConfig 상에 다음과 같은 설정을 적용(변경)한다.

@Configuration
public class EgovPrivacyConfig {
 
	@Resource(name = "egov.dataSource")
	DataSource dataSource;
 
	@Bean(destroyMethod = "destroy")
	public EgovIdGnrService egovPrivacyLogIdGnrService() {
 
		EgovIdGnrStrategyImpl strategy = new EgovIdGnrStrategyImpl();
		strategy.setPrefix("PRVCY_");
		strategy.setCipers(14);
		strategy.setFillChar('0');
 
		EgovTableIdGnrServiceImpl idGnrService = new EgovTableIdGnrServiceImpl();
		idGnrService.setDataSource(dataSource);
		idGnrService.setStrategy(strategy);
		idGnrService.setBlockSize(10);
		idGnrService.setTable("COMTECOPSEQ");
		idGnrService.setTableName("PRIVACYLOG_ID");
 
		return idGnrService;
	}
}

ID Generation 환경설정(context-idgen.xml)

또는 기존 방식과 같은 XML 기반의 ID Generation 서비스를 사용할 수 있다.

  <bean name="egovPrivacyLogIdGnrService"
    class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService"
    destroy-method="destroy">
    <property name="dataSource" ref="dataSource" />
    <property name="strategy"   ref="privacyLogStrategy" />
    <property name="blockSize"  value="1"/>
    <property name="table"      value="COMTECOPSEQ"/>
    <property name="tableName"  value="PRIVACYLOG_ID"/>
  </bean>
 
  <bean name="privacyLogStrategy"
    class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
    <property name="prefix" value="PRVCY_" />
    <property name="cipers" value="14" />
    <property name="fillChar" value="0" />
  </bean>   

관련 테이블

관련 테이블
테이블명테이블명(영문)비고
개인정보조회로그COMTNPRIVACYLOG개인정보조회 정보를 관리한다.

AOP

context-privacylogaop.xml

	<!--  Privacy Log Aspect -->
	<bean id="privacyLog" class="egovframework.com.sym.log.plg.service.EgovPrivacyLogAspect">
		<property name="maxListCount" value="1" />
		<property name="target">
			<map>
				<entry key="mberNm" value="회원명"/>
				<entry key="moblphonNo" value="휴대폰번호"/>
				<entry key="emailAdres" value="이메일"/>
				<entry key="email" value="이메일"/>
				<entry key="orgnztNm" value="조직명"/>
			</map>
		</property>
	</bean>
 
	<aop:config>
		<aop:aspect id="privacyLogAspect" ref="privacyLog">
			<!--  service Method -->
			<aop:after-returning returning="returnVal" 
					pointcut="execution(public * egovframework.com..impl.*Impl.*(..)) 
								&amp;&amp; ! execution(public * 
 
egovframework.com.sym.log.plg.service.impl.EgovPrivacyLogServiceImpl.*(..))
								&amp;&amp; ! execution(public * 
 
egovframework.com.cmm.service.impl.EgovUserDetailsSessionServiceImpl.*(..)) 
								&amp;&amp; ! execution(public * 
 
egovframework.com.sym.log.wlg.service.impl.EgovWebLogServiceImpl.*(..))
								&amp;&amp; ! execution(public * 
 
egovframework.com.sym.log.lgm.service.impl.EgovSysLogServiceImpl.*(..))"
								method="insertLog" />
			</aop:aspect>
			<!--  warning : 자체 서비스(EgovPrivacyLogServiceImpl) 및 내부 호출 서비스, 로그 처리 부분  제외 필요 -->
	</aop:config>

개인정보조회 로그 등록 기능구현을 위하여 AOP를 설정한다.

관련된 설정은 다음과 같다.

context-privacylogaop.xml
속성의미비고
maxListCount리스트 형태로 조회된 경우 리스트에 대한 기록 건수
targetMap으로 개인정보에 대한 속성(Map인 경우 key, VO의 경우 property에 해당)을 정의하고 기록시에 사용된 한글명칭을 지정

은 List<Map>, List<VO>, Map, VO의 4가지 유형임 |

pointcut 정의 부분은 대상에서 제외될 필요가 있는 서비스를 지정하며, 현재 위 4개의 서비스 호출은 반드시 제외시켜야 한다.

관련기능

개인정보조회 로그관리는 개인정보조회 로그 목록조회, 개인정보조회 로그 상세조회 기능으로 구분된다.

개인정보조회 로그 목록조회

비즈니스 규칙

로그인로그 목록은 페이지 당 10건씩 조회되며 페이징은 10페이지씩 이루어진다. 검색조건은 발생일자와 조회데이터에 대해서 수행된다.

관련코드

N/A

관련화면 및 수행매뉴얼

관련화면 및 수행매뉴얼
ActionURLController methodQueryID
목록조회/sym/log/plg/SelectPrivacyLogList.doselectPrivacyLogList“PrivacyLogDAO.selectPrivacyLogList”,
“PrivacyLogDAO.selectPrivacyLogListCount”

egovprivacyloglist.jpg

개인정보조회 로그 상세조회 기능을 수행하기 위해서는 상세보기 버튼을 클릭한다.

접속로그 상세조회

비즈니스 규칙

개인정보조회 로그 상세조회는 팝업창으로 구성되며, 닫기 버튼을 클릭하면 창을 닫는다.

관련코드

N/A

관련화면 및 수행메뉴얼

관련화면 및 수행메뉴얼
ActionURLController methodQueryID
상세조회/sym/log/plg/InqirePrivacyLog.doselectWebLog“PrivacyLogDAO.selectPrivacyLog”

egovprivacyloginqire.jpg

참고자료

원본 페이지 ID
egovframework:com:v3:sym:개인정보조회로그관리
원본 수정일