====== 개인정보조회 로그관리 ======
===== 개요 =====
**개인정보조회 로그관리**는 사용자가 개인정보를 조회한 로그 정보를 검색, 조회하는 기능을 제공한다.
===== 설명 =====
**개인정보조회 로그관리**는 개인정보조회로그의 **등록, 조회, 목록**의 기능을 수반한다.
① 개인정보조회 로그 등록 : 개인정보조회 정보를 등록한다. - AOP 기능을 이용
② 개인정보조회 로그 목록 : 개인정보조회 정보의 목록을 검색, 조회한다.
③ 개인정보조회 로그 조회 : 개인정보조회 정보의 상세내용을 조회한다.
==== 패키지 참조 관계 ====
개인정보조회 로그관리 패키지는 요소기술의 공통(cmm) 패키지에 대해서만 직접적인 함수적 참조 관계를 가진다.
* 패키지 간 참조 관계 : [[egovframework:com:v2:init_pkg_dependency#시스템관리|시스템관리 Package Dependency]]
==== 관련소스 ====
^유형^대상소스명^비고^
|Controller|egovframework.com.sym.log.plg.web.EgovPrivacyLogController.java|개인정보조회 로그 관리를 위한 컨트롤러 클래스|
|Service|egovframework.com.sym.log.plg.service.EgovPrivacyLogService.java|개인정보조회 로그 관리를 위한 서비스 인터페이스|
|ServiceImpl|egovframework.com.sym.log.plg.service.impl.EgovPrivacyLogServiceImpl.java|개인정보조회 로그 관리를 위한 서비스 구현 클래스|
|Model|egovframework.com.sym.log.plg.service.PrivacyLog.java|개인정보조회 로그 관리를 위한 VO 클래스|
|DAO|egovframework.com.sym.log.plg.service.impl.PrivacyLogDAO.java|개인정보조회 로그 관리를 위한 데이터처리 클래스|
|Aspect|egovframework.com.sym.log.plg.service.EgovPrivacyLogAspect.java|개인정보조회 로그 등록을 위한 Aspect 클래스|
|Config|egovframework.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/EgovPrivacyLogDetail.jsp|개인정보조회 로그 조회를 위한 jsp페이지|
|Query XML|resources/egovframework/mapper/com/sym/log/plg/EgovPrivacyLog_SQL_altibase.xml|개인정보조회 로그 관리를 위한 Altibase용 Query XML|
|Query XML|resources/egovframework/mapper/com/sym/log/plg/EgovPrivacyLog_SQL_cubrid.xml|개인정보조회 로그 관리를 위한 Cubrid용 Query XML|
|Query XML|resources/egovframework/mapper/com/sym/log/plg/EgovPrivacyLog_SQL_maria.xml|개인정보조회 로그 관리를 위한 MariaDB용 Query XML|
|Query XML|resources/egovframework/mapper/com/sym/log/plg/EgovPrivacyLog_SQL_mysql.xml|개인정보조회 로그 관리를 위한 MySQL용 Query XML|
|Query XML|resources/egovframework/mapper/com/sym/log/plg/EgovPrivacyLog_SQL_oracle.xml|개인정보조회 로그 관리를 위한 Oracle용 Query XML|
|Query XML|resources/egovframework/mapper/com/sym/log/plg/EgovPrivacyLog_SQL_postgres.xml|개인정보조회 로그 관리를 위한 PostgreSQL용 Query XML|
|Query XML|resources/egovframework/mapper/com/sym/log/plg/EgovPrivacyLog_SQL_tibero.xml|개인정보조회 로그 관리를 위한 Tibero용 Query XML|
|Query XML|resources/egovframework/mapper/com/sym/log/plg/EgovPrivacyLog_SQL_goldilocks.xml|개인정보조회 로그 관리를 위한 Goldilocks용 Query XML|
|Message properties|resources/egovframework/message/com/sym/log/plg/message_ko.properties|개인정보조회로그 관리를 위한 Message properties(한글)|
|Message properties|resources/egovframework/message/com/sym/log/plg/message_en.properties|개인정보조회로그 관리를 위한 Message properties(영문)|
==== ID Generation ====
=== ID Generation 관련 DDL 및 DML ===
* ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 **PRIVACYLOG_ID** 항목을 추가한다.
CREATE TABLE COMTECOPSEQ (TABLE_NAME VARCHAR(20) NOT NULL,
NEXT_ID NUMERIC(30) NULL,
PRIMARY KEY (TABLE_NAME));
INSERT INTO COMTECOPSEQ VALUES('PRIVACYLOG_ID','1');
=== 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 서비스를 사용할 수 있다.
==== 관련 테이블 ====
^테이블명^테이블명(영문)^비고^
|개인정보조회로그|COMTNPRIVACYLOG|개인정보조회 정보를 관리한다.|
==== AOP ====
=== context-privacylogaop.xml ===
개인정보조회 로그 등록 기능구현을 위하여 [[egovframework:rte:fdl:aop|AOP]]를 설정한다.
관련된 설정은 다음과 같다.
^속성^의미^비고^
|maxListCount|리스트 형태로 조회된 경우 리스트에 대한 기록 건수| |
|target|Map으로 개인정보에 대한 속성(Map인 경우 key, VO의 경우 property에 해당)을 정의하고 기록 시에 사용된 한글명칭을 지정| 기록 대상
은 List