kcg-ai-monitoring/backend
htlee fc1a686700 feat: 시스템 관리 페이지 백엔드 연결 + 메트릭 카드
백엔드 API 추가:
- UserManagementController (admin:user-management)
  - GET /api/admin/users : 사용자 목록 + 역할 코드
  - GET /api/admin/users/stats : 상태별/역할별/인증방식별 카운트
  - POST /api/admin/users/{id}/unlock : 잠금 해제 (@Auditable USER_UNLOCK)
  - PUT /api/admin/users/{id}/status : 상태 변경 (@Auditable USER_STATUS_CHANGE)
  - 권한 캐시 evict 자동 호출
- AdminStatsController (admin:audit-logs/access-logs/login-history READ)
  - GET /api/admin/stats/audit : 전체/24시간/실패/액션별/시간별 통계
  - GET /api/admin/stats/access : 전체/24시간/4xx/5xx/평균응답/인기경로
  - GET /api/admin/stats/login : 성공률/사용자별/일별 추세

프론트엔드 연결:
- adminApi.ts 확장: AdminUser/UserStats/AuditStats/AccessStats/LoginStats
  타입 정의 + 사용자/통계 fetch 함수
- AccessControl.tsx (시스템 관리 > 권한 관리):
  - 4개 탭 모두 백엔드 연결
  - 역할 관리: GET /api/roles + 사용자별 카운트 표시
  - 사용자 관리: GET /api/admin/users + DataTable + 잠금 해제 버튼
    + 통계 카드 4개 (총/활성/잠금/비활성)
  - 감사 로그: GET /api/admin/audit-logs + GET /api/admin/stats/audit
    + 액션별 분포 Badge + 통계 카드
  - 보안 정책: 실제 백엔드 동작과 일치하도록 갱신
- AuditLogs.tsx: 메트릭 카드 4개 + 액션별 분포
- AccessLogs.tsx: 메트릭 카드 5개 (전체/24시간/4xx/5xx/평균) + Top 10 경로 테이블
- LoginHistoryView.tsx: 메트릭 카드 5개 + 사용자별 + 일별 추세

검증:
- /api/admin/users → 5명 (admin/operator/analyst/field/viewer)
- /api/admin/users/stats → byRole, byStatus, byProvider 카운트
- /api/admin/stats/audit → total 15, 액션 6종, hourly 추세
- /api/admin/stats/login → success 80%, byUser top, daily 추세
- 프론트엔드 빌드 통과 (493ms)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 09:57:59 +09:00
..
.mvn/wrapper feat: Phase 2 - Spring Boot 백엔드 + DB 마이그레이션 초기화 2026-04-07 09:01:13 +09:00
src feat: 시스템 관리 페이지 백엔드 연결 + 메트릭 카드 2026-04-07 09:57:59 +09:00
.sdkmanrc feat: Phase 2 - Spring Boot 백엔드 + DB 마이그레이션 초기화 2026-04-07 09:01:13 +09:00
mvnw feat: Phase 2 - Spring Boot 백엔드 + DB 마이그레이션 초기화 2026-04-07 09:01:13 +09:00
mvnw.cmd feat: Phase 2 - Spring Boot 백엔드 + DB 마이그레이션 초기화 2026-04-07 09:01:13 +09:00
pom.xml feat: Phase 3 - 자체 인증 + 트리 기반 RBAC + 감사로그 + 데모 계정 2026-04-07 09:29:52 +09:00
README.md refactor: 모노레포 구조로 전환 (frontend/ + backend/ + database/) 2026-04-07 08:47:24 +09:00

Backend (Spring Boot)

Phase 2에서 초기화 예정.

계획된 구성

  • Spring Boot 3.x + Java 21
  • PostgreSQL + Flyway
  • Spring Security + JWT
  • Caffeine 캐시
  • 트리 기반 RBAC 권한 체계 (wing 패턴)

책임

  • 자체 인증/권한/감사로그
  • 운영자 의사결정 (모선 확정/제외/학습)
  • iran 백엔드 분석 데이터 프록시
  • 관리자 화면 API

상세 설계: .claude/plans/vast-tinkering-knuth.md