← 목록
엔터프라이즈 2026-06-15 2KB 읽기 2분

크라우니엔터프라이즈 멀티테넌시 보완 3건

개요

2026-06-15 배포 전 보완 완료: GET 격리 + SoD초기화 통합 + dat 마이그레이션

무엇을 했는지

보완1: GET 조회 핸들러 격리

  • GET처리() 함수 시그니처에 현재회사 인자 추가
  • 요청처리()GET처리(소켓, 경로, 쿼리문자열, 현재회사) 호출 수정
  • 서버.한선 최상단에 가져오기 "격리강화.한선" 추가
  • 격리 적용 엔드포인트: /api/finance, /api/pnl, /api/scm, /api/hrm, /api/crm, /api/project, /api/project/list, /api/asset, /api/asset/list, /api/document, /api/production
  • 회사격리전체/회사격리조회/격리행수/격리집계합 사용

보완2: SoD초기화 통합

  • ERP초기화()보안초기화() 직후에 SoD초기화() 추가
  • 역할부여() 전에 호출되므로 bootstrap 위반 없음
  • 검증: /api/security/sod → SoD규칙:3, 위반:0, 미처리:0

보완3: dat 무중단 마이그레이션

  • dat회사코드마이그레이션(DB, 기본회사코드, pk컬럼) 함수 추가
  • ERP테이블불러오기() 내 5개 핵심 테이블 + 프로젝트 + 문서 로드 직후 호출
  • 회사코드 빈 행 → "미지정"으로 주입 (데이터 손실 0)
  • pk컬럼: 직원="사번", 고객/상품/자산/프로젝트/문서="코드", 분개="번호"

관련 파일 경로

  • /Users/ef/crowny-enterprise/서버.한선 — 3건 모두 적용
  • /Users/ef/crowny-enterprise/격리강화.한선 — 격리래퍼 (기존 유지)
  • /tmp/ent.fix.toau — 컴파일 결과물 (배포용)

검증 결과

  • 컴파일: OK (hanseonc_high)
  • 격리검증_단순.한선: 9/9 T
  • GET /api/hrm (crowny 토큰): 직원 0→1 (crowny 전용)
  • GET /api/hrm (amena 토큰): 0 (crowny 직원 비노출)
  • SoD: 규칙3, 위반0
  • 테스트포트: 19712

잔여 이슈

  • ERP테이블불러오기는 파일존재() -1 반환 이슈로 실제 미호출 (TODO 주석 유지)
  • dat 마이그레이션은 부하시 로드 경로 복원 시 자동 적용될 예정