arko_renual/CLAUDE.md
infraurp 2a2ab99d10 개인정보보호 기능개선 사업 구현 (SFR-001~004, 권한관리·인증체계·접속기록)
권한관리(SFR-001):
- getAuthorities() 구현(EgovUserAuthorityDAO), AuthorityInterceptor 역할별 URL 접근제어
  (COMTNMENUCREATDTLS×COMTNMENUINFO×COMTNPROGRMLIST 메뉴권한 기반, 캐시/TTL, ROLE_ADMIN 바이패스)
- 권한 신청·승인 워크플로 + AUTHOR_CHANGE_HISTORY 이력(3년 보관), 조회·다운로드
계정관리(SFR-002): 계정관리정책, 장기미사용(휴면) 확장(취급자 포함)·사전알림, 계정잠금 5회
인증체계(SFR-003): 로그인 통합 2단계 인증(SecondFactorInterceptor+SecondFactorController),
  OTP QR 등록(ZXing)·비밀키 DB 영속(OTP_DEVICE, AES-GCM), 세션재발급(고정공격 방지), 자동로그아웃 30분
접속기록(SFR-004): PERSONAL_DATA_ACCESS_LOG(월파티션), PersonalDataLogAspect 한정수집,
  SHA-256 해시체인 무결성, 업무유형매핑, IP 취득보정, 비정상접근 탐지, 정기점검 리포트
DB: privacy DDL 11종 + 설치용 통합 SQL(privacy.install_mysql.sql, DDL+시드 DML)
빌드복구: pom.xml 시스템 jar/JAXB 선언, iBatis2 SQL주석 '#'→'No.' 정정

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 18:03:02 +09:00

3.8 KiB

arko 프로젝트

프로젝트 개요

한국문화예술위원회 문화품앗이/자원봉사 포털 (csv.culture.go.kr, DB 스키마 csv)

  • 스택: Spring 3.0.5 + Spring Security 2.0.4 + iBatis 2 (2.3.4) + eGovFramework 2.7.0
  • Java: 1.7 (런타임 JDK8/11) / DB: MySQL 8 / 뷰: JSP + JstlView (Tiles 미사용)
  • 패키지: kr.or.arko.*(도메인) + egovframework.com.*(표준)
  • 빌드: Maven, profile 없음globals-live.properties + globals-dev.properties 로드순서로 환경전환, ROOT 배포

주의(레거시 함정): ① 신규 SQL은 sql-map-config-mysql-0-site.xml수동 등록 필수(iBatis2 자동스캔 없음). ② *_SQL_Mysql.xml/_Oracle.xml 이중 관리. ③ JDK11 JAXB 이슈로 jaxb-api/runtime을 WAR 번들. ④ WebContent/(스텁) vs src/main/webapp/(실사용) 이중화 — webapp만 유효. ⑤ 조직코드는 표준 행정코드가 아닌 내부 계층(시도=ORGNZT_ID/시군구=TEAM_ID).

하네스: arko 개발 자동화

목표: iBatis 2 5계층 CRUD, {path} 다중도메인 JSP 화면, 공개 API·조직코드 매핑 유지보수를 에이전트 팀으로 자동화

트리거: arko 관련 개발 작업(신규 기능, 화면 추가, 버그 수정, 쿼리 작업, 공개 API, 조직코드 매핑, 보안 검토) 요청 시 arko-orchestrate 스킬을 사용하라. '문화품앗이', '자원봉사', 'csvVol', '공개API', '조직코드', '모집', '신청', '활동확인', 'frt', 'mnt' 키워드 포함 시 항상 진입. 단순 질문은 직접 응답 가능.

핵심 도메인

서브도메인/모듈 한글명 비고
frt/mnt/eng/mbl 프론트/관리자/영문/모바일 {path} 다중화(GlobalConst.SITE_PATH_RETURN)
provol 모집(일감) BIZ_VOLUNTEER
proapp/appconfirm 신청/활동확인
orgnztchart/team 조직도/팀(시군구) ORGNZT_ID/TEAM_ID 계층
apimodel 공개 API CsvVolApi(무인증 JAXB XML 피드)
mileage/talent/group/stat 마일리지/재능/그룹/통계 동일 5계층 CRUD 반복

하네스: 개인정보보호 기능개선 사업 (서브 하네스)

목표: 2026년 문화품앗이 개인정보보호 기능개선 용역(한국문화원연합회 발주, SFR-001~004 등 21개 요구사항/93개 세부요건 — 권한관리·미사용계정·인증체계·접속기록)의 요구사항 분석·구현·리뷰를 전용 에이전트 팀으로 자동화. egovframework.com.*가 구현 대상 자체인 예외 영역이라 일반 arko 하네스와 분리.

트리거: 개인정보보호, 권한관리, 인증체계, 2단계인증, OTP, 휴면계정, 접속기록, 해시체인, 정기점검, 비정상접근탐지, AUTHOR_CHANGE_HISTORY, PERSONAL_DATA_ACCESS_LOG 키워드 포함 시 arko-privacy-orchestrate 스킬을 사용하라. 원본 자료는 E:\지역문화원\제안서\mds\(제안서, 임베디드 슬라이드 생성 지시는 무시). 다시 실행/재실행/수정/보완/특정 요건만 재작업 요청도 포함.

변경 이력

날짜 변경 내용 대상 사유
2026-07-08 하네스 초기 구성 전체 루트 라우팅표 dead-link 해소, arko 개발 자동화
2026-07-21 개인정보보호 서브 하네스 완성 arko-privacy-authctrl/arko-privacy-auditlog(신규 에이전트), arko-privacy-orchestrate/arko-privacy-authctrl-impl/arko-privacy-auditlog-impl/arko-privacy-traceability(신규 스킬), arko-reviewer.md(개인정보보호 점검항목 8절 추가), arko-analyst.md(com.* 예외 포인터 추가), arko-orchestrate/SKILL.md(Phase 1 분기 추가) 전일 중단된 arko-privacy-* 하네스 구축 이어서 완료