Files
iotdoor_boot/MIGRATION_PLAN.md
2026-04-17 13:35:40 +09:00

2.0 KiB

IOTDOOR Spring Boot 마이그레이션 계획

목표

  • 레거시 eGovFrame + Spring MVC 구조를 Spring Boot 3.x + Java 17 기반으로 전환
  • 기존 공개 사이트 디자인은 최대한 유지
  • 관리자 영역은 운영성과 보안성을 우선으로 재설계
  • 불필요한 레거시 자산과 연결되지 않은 화면은 점진적으로 제외

현재 1차 이행 범위

  • Spring Boot 3 / Java 17 신규 모듈 생성
  • 공개 메인 페이지 이식
  • 연락처 페이지 이식
  • 포트폴리오 페이지를 정적/큐레이션 방식으로 재구성
  • 관리자 로그인/로그아웃 이식
  • 관리자 대시보드 신규 구성
  • 문의 접수를 서버 검증 API 기반으로 교체

이번 단계에서 의도적으로 보류한 범위

  • 게시판 CRUD
  • 회원가입 및 사용자 상세 프로필
  • 메시지/알림
  • 설문
  • 관리자 CMS 전체
  • 운영 로그 및 통계
  • Hypermeta 연동
  • DB 기반 메뉴/권한 시스템

설계 원칙

  1. 레거시와 직접 충돌하지 않도록 신규 모듈 iotdoor-boot/ 에서 시작한다.
  2. URL은 가능한 한 기존 .do 패턴을 유지한다.
  3. 화면은 기존 Thymeleaf 템플릿과 정적 리소스를 재사용한다.
  4. 인증은 Spring Security 6 표준 구성으로 재작성한다.
  5. 보안 취약점으로 보였던 항목은 기본값부터 개선한다.

우선순위 제안

2차

  • 공통 레이아웃/메뉴를 DB 비의존 구조로 정리
  • 게시판 읽기 전용 목록/상세 먼저 이식
  • 파일 업로드/다운로드 서비스 재구성

3차

  • 관리자 게시판/공지 관리
  • 회원 조회 및 권한 관리
  • 사이트 정보/배너/팝업 관리

4차

  • 메시지, 설문, 통계, 로그 이식
  • MyBatis 매퍼 재정비 및 DB 스키마 문서화
  • 외부 연동(Hypermeta) 재적용

보안 개선 기준

  • CSRF 기본 활성화
  • BCrypt 비밀번호 사용
  • 관리자 계정은 환경변수로 주입
  • 클라이언트 직접 메일 발송 제거
  • 운영 민감정보의 템플릿/JS 하드코딩 최소화