docs & feat(cloud/auth): 클라우드 서버 설정 문서화 및 QuantEngine 관리자 로그인 인증 체계 구현 #13

Merged
kjh2064 merged 1 commits from chore/gitignore-dotnet-build-artifacts into main 2026-07-01 10:46:07 +09:00
Owner

개요

운영 중인 클라우드 VPS 서버(178.104.200.7)의 도메인 기반 HTTPS 설정 반영 지침 최신화와 함께, QuantEngine 관리자 웹 UI에 대한 보안 강화를 위한 로그인 페이지 및 세션 인증(Authentication) 체계를 구현하여 통합 반영합니다.

변경 사항

1. 클라우드 서버 네트워크 구성 지침 최신화

  • 가이드 문서 업데이트 (docs/CLOUD_SERVER_SETUP.md):
    • 도메인별 서비스 매핑 정보 추가 (taxbaik.com, gitea.taxbaik.com, quant.taxbaik.com)
    • UFW 방화벽 443(HTTPS) 포트 지침 추가
    • Docker 네트워크 격리에 443(HTTPS) 및 5001(TaxBaik Web) 설명 추가
    • Git Remote URL 도메인 기반 변경 방법(Git HTTPS 및 SSH 포트 2222 사용법) 반영
    • [트러블슈팅] Microsoft APT 리포지토리 404 충돌 에러 시의 microsoft-prod.list 제거 및 Certbot 재설치 조치 방법 추가
  • Nginx 설정 백업 추가 (deploy/nginx-taxbaik-domains.conf):
    • 실제 서버에 반영된 Nginx 도메인 기반 가상 호스트 및 SSL 프록시 설정 백업 파일 생성

2. QuantEngine 관리자 로그인 및 인증 구현

  • 로그인 페이지 추가 (Components/Pages/Login.razor):
    • HSL 그라디언트와 글래스모피즘이 적용된 프리미엄 Sleek Dark UI 구성
    • generate_image를 통해 생생한 고화질 핀테크 브랜드 로고 이미지(wwwroot/images/quant_engine_logo.jpg) 제작 및 삽입
    • 아이디/비밀번호 한국어 검증 폼 제공 (다국어 표준 준수)
  • 세션 상태 관리 및 라우팅 인가 보호:
    • CustomAuthenticationStateProvider.cs 구현: ProtectedLocalStorage를 통한 안전한 세션 토큰 유지
    • Routes.razor 수정: AuthorizeRouteViewCascadingAuthenticationState를 이용해 비로그인 사용자 자동 차단 및 /login 리다이렉트 (RedirectToLogin.razor 헬퍼 사용)
    • Program.cs 서비스 DI 등록: CascadingAuthenticationState 및 Scoped AuthenticationStateProvider 등록
    • appsettings.json 내 관리자 계정 자격증명(AdminSettings) 연동
  • 로그아웃 기능:
    • MainLayout.razor에 현재 로그인한 관리자 명칭 표출 및 로그아웃 버튼 탑재 (인증 해제 시 자동 세션 파괴 및 로그인 페이지 리다이렉션)
  • 공통 컴파일 패치:
    • CollectionEndpoints.cs 에서 발생하던 legacy ReadAsAsync 확장 메서드 오류를 표준 ReadFromJsonAsync로 치환하여 빌드 정상화
### 개요 운영 중인 클라우드 VPS 서버(178.104.200.7)의 도메인 기반 HTTPS 설정 반영 지침 최신화와 함께, QuantEngine 관리자 웹 UI에 대한 보안 강화를 위한 로그인 페이지 및 세션 인증(Authentication) 체계를 구현하여 통합 반영합니다. ### 변경 사항 #### 1. 클라우드 서버 네트워크 구성 지침 최신화 - **가이드 문서 업데이트** (`docs/CLOUD_SERVER_SETUP.md`): - 도메인별 서비스 매핑 정보 추가 (taxbaik.com, gitea.taxbaik.com, quant.taxbaik.com) - UFW 방화벽 443(HTTPS) 포트 지침 추가 - Docker 네트워크 격리에 443(HTTPS) 및 5001(TaxBaik Web) 설명 추가 - Git Remote URL 도메인 기반 변경 방법(Git HTTPS 및 SSH 포트 2222 사용법) 반영 - **[트러블슈팅]** Microsoft APT 리포지토리 404 충돌 에러 시의 `microsoft-prod.list` 제거 및 Certbot 재설치 조치 방법 추가 - **Nginx 설정 백업 추가** (`deploy/nginx-taxbaik-domains.conf`): - 실제 서버에 반영된 Nginx 도메인 기반 가상 호스트 및 SSL 프록시 설정 백업 파일 생성 #### 2. QuantEngine 관리자 로그인 및 인증 구현 - **로그인 페이지 추가** (`Components/Pages/Login.razor`): - HSL 그라디언트와 글래스모피즘이 적용된 프리미엄 Sleek Dark UI 구성 - `generate_image`를 통해 생생한 고화질 핀테크 브랜드 로고 이미지(`wwwroot/images/quant_engine_logo.jpg`) 제작 및 삽입 - 아이디/비밀번호 한국어 검증 폼 제공 (다국어 표준 준수) - **세션 상태 관리 및 라우팅 인가 보호**: - `CustomAuthenticationStateProvider.cs` 구현: `ProtectedLocalStorage`를 통한 안전한 세션 토큰 유지 - `Routes.razor` 수정: `AuthorizeRouteView` 및 `CascadingAuthenticationState`를 이용해 비로그인 사용자 자동 차단 및 `/login` 리다이렉트 (`RedirectToLogin.razor` 헬퍼 사용) - `Program.cs` 서비스 DI 등록: CascadingAuthenticationState 및 Scoped AuthenticationStateProvider 등록 - `appsettings.json` 내 관리자 계정 자격증명(`AdminSettings`) 연동 - **로그아웃 기능**: - `MainLayout.razor`에 현재 로그인한 관리자 명칭 표출 및 로그아웃 버튼 탑재 (인증 해제 시 자동 세션 파괴 및 로그인 페이지 리다이렉션) - **공통 컴파일 패치**: - `CollectionEndpoints.cs` 에서 발생하던 legacy `ReadAsAsync` 확장 메서드 오류를 표준 `ReadFromJsonAsync`로 치환하여 빌드 정상화
kjh2064 added 1 commit 2026-07-01 10:44:33 +09:00
docs(cloud): 클라우드 서버 도메인 기반 가상 호스트(HTTPS) 설정 지침 최신화 및 Nginx 백업 추가 (WBS-CLOUD-5)
WBS-9.3 - NULL Policy CI Gate / NULL Policy Validation (pull_request) Failing after 4s
Quant Engine CI/CD Pipeline / validate-core (pull_request) Failing after 7s
Quant Engine CI/CD Pipeline / validate-ui-and-storage (pull_request) Has been skipped
24c1cce542
kjh2064 merged commit 8bd678c7c7 into main 2026-07-01 10:46:07 +09:00
kjh2064 changed title from docs(cloud): 클라우드 서버 도메인 가상 호스트 및 HTTPS 설정 지침 반영 to docs & feat(cloud/auth): 클라우드 서버 설정 문서화 및 QuantEngine 관리자 로그인 인증 체계 구현 2026-07-01 11:12:53 +09:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kjh2064/QuantEngineByItz#13