커밋 그래프

5 커밋

작성자 SHA1 메시지 날짜
97e5a24343 feat: 로그인 프로세스 제거 + 사용자 역할 토글 버튼
- JWT 인증 및 LoginPage 제거, SecurityConfig permitAll 전환
- @PreAuthorize 어노테이션 전체 제거 (@EnableMethodSecurity 비활성화)
- ADMIN/MANAGER/USER 역할 토글 버튼 (헤더) + localStorage 연동
- X-User-Id 헤더 기반 사용자 식별 (ApiKeyController, ApiKeyRequestController)
- RoleGuard 컴포넌트로 관리자 전용 페이지 접근 제어
- WebViewController 루트 리다이렉트 수정 (이중 context-path 방지)

closes #35
2026-04-13 09:27:17 +09:00
071489ced6 feat(phase4): API Gateway 프록시 + 요청 로깅
백엔드:
- GatewayController (ANY /gateway/{serviceCode}/**)
- GatewayService (API Key prefix 매칭 + AES 복호화, 권한 확인, WebClient 프록시)
- AsyncConfig + RequestLogService (@Async 비동기 로깅)
- RequestLogController (검색 + 상세 API, JPA Specification)
- request_url을 gateway 경로로 통일 저장
- tenant_id 로그 기록 추가
- ErrorCode 6개 (GW001-GW006)

프론트엔드:
- RequestLogsPage (검색 폼 + 결과 테이블 + 페이지네이션)
- RequestLogDetailPage (요청/응답 상세)
- 날짜 검색 LocalDate 변환 수정

Closes #9

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 11:20:08 +09:00
efa7a7bd07 feat(phase2): 핵심 관리 기능 CRUD + 하트비트 스케줄러
백엔드:
- 테넌트 CRUD API (GET/POST/PUT /api/tenants)
- 사용자 CRUD API (GET/POST/PUT/DELETE /api/users, 역할 기반 접근 제어)
- 서비스 등록/관리 API (GET/POST/PUT /api/services, /api/services/{id}/apis)
- 하트비트 스케줄러 (30초 간격 폴링, WebClient 헬스체크)
- 헬스체크 상태 조회/이력 API (GET/POST /api/heartbeat)
- @EnableMethodSecurity + @PreAuthorize 역할 기반 접근 제어
- WebClientConfig, ErrorCode 7개 추가

프론트엔드:
- 테넌트 관리 페이지 (CRUD 테이블 + 모달)
- 사용자 관리 페이지 (역할 드롭다운, 테넌트 선택)
- 서비스 관리 페이지 (헬스 배지, API 목록 탭)
- API 서비스 모듈 4개 (tenant, user, service, heartbeat)

Closes #7

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 17:04:32 +09:00
48671af3c5 feat(phase1): 기반 구축 - DB Entity, JWT 인증, 프론트엔드 레이아웃
백엔드:
- JPA Entity 9개 + Repository 9개 (common 스키마)
- JWT 인증 (jjwt, Access/Refresh 토큰)
- AuthController (login/logout/refresh)
- 공통 모듈 (BaseEntity, ErrorCode, BusinessException, PageResponse)
- SecurityConfig JWT 필터 체인 통합

프론트엔드:
- MainLayout (사이드바 + 헤더) + AuthLayout
- 로그인 페이지 + ProtectedRoute
- API 클라이언트 (fetch wrapper, JWT 자동 첨부, 401 refresh)
- AuthContext + useAuth 훅
- 9개 플레이스홀더 페이지 + 라우팅

설정:
- DB: snp_connection / snp_admin / common 스키마
- ddl-auto: update (개발), validate (운영)

Closes #6

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 13:52:25 +09:00
38d7ac5642 feat: 프론트엔드 통합 프로젝트 초기 구조 구성
- Spring Boot 3.2.1 백엔드 (com.gcsc.connection, 포트 8042, context /snp-connection)
- React 19 + TypeScript + Vite 7 + Tailwind CSS 4 프론트엔드
- frontend-maven-plugin 통합 빌드 설정
- 팀 워크플로우 v1.6.1 동기화

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 10:56:10 +09:00