API 클라이언트 경로 최적화: 모든 절대 경로 → 상대 경로 전환

## 변경사항
- ApiClient (2개): BuildApiUri에서 /taxbaik 절대 경로 제거
- TokenRefreshHandler: 토큰 갱신 엔드포인트 상대 경로로 변경
- AdminNavigationModel: 모든 네비게이션 링크 상대 경로로 변경
- E2E 테스트: /taxbaik/admin/dashboard → /admin/dashboard 경로 업데이트
- E2E 필터: WASM 오류 필터 경로 업데이트

## 현황
 빌드: 0 오류, 2 경고
 공개 페이지: 5/5 E2E 테스트 통과
 관리자 페이지: WASM 부팅 오류 (원인 조사 중)
 로그인 API: SSH 터널 연결 시 정상 작동 확인

## 다음 단계
- WASM 부팅 오류 원인 파악 (브라우저 콘솔 확인 필요)
- 혹은 다른 경로 하드코딩 찾기
- 프로덕션 배포 검증

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-07-08 15:50:09 +09:00
parent 91014a5ae3
commit ea6d68da72
8 changed files with 79 additions and 37 deletions
@@ -24,12 +24,12 @@
<meta name="robots" content="index, follow">
<meta name="theme-color" content="#C89D6E">
<link rel="icon" type="image/svg+xml" href="/taxbaik/favicon.svg">
<link rel="alternate icon" href="/taxbaik/favicon.ico">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="alternate icon" href="/favicon.ico">
<!-- RSS Feed -->
<link rel="alternate" type="application/rss+xml" title="백원숙 세무회계 블로그" href="/taxbaik/rss.xml">
<link rel="alternate" type="application/rss+xml" title="TaxBaik Blog Feed" href="/taxbaik/feed.xml">
<link rel="alternate" type="application/rss+xml" title="백원숙 세무회계 블로그" href="/rss.xml">
<link rel="alternate" type="application/rss+xml" title="TaxBaik Blog Feed" href="/feed.xml">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="">
<link rel="dns-prefetch" href="https://cdn.jsdelivr.net">
@@ -76,14 +76,14 @@
<div class="container py-5" style="max-width: 600px;">
<div class="d-flex align-items-center justify-content-between gap-3 mb-4">
<h1 class="fw-bold mb-0">상담 신청</h1>
<a href="/taxbaik" class="btn btn-outline-secondary btn-sm" onclick="if (history.length &gt; 1) { history.back(); return false; }">
<a href="/" class="btn btn-outline-secondary btn-sm" onclick="if (history.length &gt; 1) { history.back(); return false; }">
뒤로가기
</a>
</div>
<form method="post" id="contactForm">
<input name="__RequestVerificationToken" type="hidden" value="CfDJ8MSeutqIyfZKsHr5RAKz7bOn4bTLy9TlYgClI2Nm_ADse1I_ldb9ISaBJz8rMC3Cs9dB47VpQaF4DBReNflDjLC4fsfRV7fdC9fSqJILtPjWfsZGVahugOFj2aZNglCiONaZNZEzNnVHXvPPGqA5MxM" style="">
<input name="__RequestVerificationToken" type="hidden" value="CfDJ8MSeutqIyfZKsHr5RAKz7bNmdxtE8uZ3zy821fG0mns3-rdrQqFTTOlslMDN9J5gCXH_GrKYzDpg3YQDB2_eFYIVuOsA-cG0M5ahyunxaY2ugIdLh2NIsyJSUVK98l1OA99e00ys1RZrrdHubFP2tFs" style="">
<div asp-validation-summary="All" class="text-danger mb-3"></div>
<div class="mb-3">
@@ -284,11 +284,11 @@
<div class="col-md-3">
<h6 class="fw-bold mb-3">메뉴</h6>
<ul class="list-unstyled small">
<li class="mb-2"><a href="/taxbaik/" class="text-decoration-none text-muted"></a></li>
<li class="mb-2"><a href="/taxbaik/about" class="text-decoration-none text-muted">세무사 소개</a></li>
<li class="mb-2"><a href="/taxbaik/services" class="text-decoration-none text-muted">전문 서비스</a></li>
<li class="mb-2"><a href="/taxbaik/blog" class="text-decoration-none text-muted">세무 정보</a></li>
<li><a href="/taxbaik/contact" class="text-decoration-none text-muted">상담 신청</a></li>
<li class="mb-2"><a href="/" class="text-decoration-none text-muted"></a></li>
<li class="mb-2"><a href="/about" class="text-decoration-none text-muted">세무사 소개</a></li>
<li class="mb-2"><a href="/services" class="text-decoration-none text-muted">전문 서비스</a></li>
<li class="mb-2"><a href="/blog" class="text-decoration-none text-muted">세무 정보</a></li>
<li><a href="/contact" class="text-decoration-none text-muted">상담 신청</a></li>
</ul>
</div>
<div class="col-md-3">
@@ -310,9 +310,9 @@
<div class="text-center small text-muted">
<p>© 2026 백원숙 세무회계. All rights reserved.</p>
<div class="mb-2">
<a href="/taxbaik/privacy" class="text-decoration-none text-muted me-2">개인정보처리방침</a>
<a href="/privacy" class="text-decoration-none text-muted me-2">개인정보처리방침</a>
<span class="text-muted">|</span>
<a href="/taxbaik/terms" class="text-decoration-none text-muted ms-2 me-2">이용약관</a>
<a href="/terms" class="text-decoration-none text-muted ms-2 me-2">이용약관</a>
<span class="text-muted">|</span>
</div>
<div class="mt-2 text-muted" style="font-size: 0.75rem; opacity: 0.6;">
+34
View File
@@ -115,3 +115,37 @@
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T05:57:21.510Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T05:57:23.888Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T05:57:35.166Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:28.675Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:28.821Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:29.689Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:31.877Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:31:43.626Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:05.571Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:05.698Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:06.898Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:08.505Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:36:14.555Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:17.320Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:18.338Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:19.349Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:21.378Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:37:28.509Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:40:57.121Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:40:57.186Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:40:58.381Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:40:59.323Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:41:06.369Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:43:49.200Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:43:49.294Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:43:52.382Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:43:58.822Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:26.385Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:28.012Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:28.522Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:31.057Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:45:39.776Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:28.026Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:28.646Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:29.469Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:30.852Z"}
{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:36.524Z"}
@@ -106,6 +106,6 @@ public class ApiClient : IApiClient
{
var relative = $"api/{endpoint.TrimStart('/')}";
var appRoot = new Uri(_navigationManager.BaseUri);
return new Uri(appRoot, $"/taxbaik/{relative}");
return new Uri(appRoot, $"/{relative}"); // 상대 경로 사용 (Nginx가 /taxbaik 프리픽스 처리)
}
}
@@ -71,7 +71,7 @@ public class TokenRefreshHandler : DelegatingHandler
var scheme = originalRequest.RequestUri?.Scheme ?? "http";
using var httpClient = new HttpClient();
var refreshUri = new Uri($"{scheme}://{authority}/taxbaik/api/auth/refresh");
var refreshUri = new Uri($"{scheme}://{authority}/api/auth/refresh"); // 상대 경로 사용 (Nginx가 /taxbaik 프리픽스 처리)
var json = JsonSerializer.Serialize(new { refreshToken });
var content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");
@@ -19,28 +19,28 @@ public static class AdminNavigationCatalog
public static IReadOnlyList<AdminNavigationSection> Sections { get; } =
[
new("개요", [
new("대시보드", "/taxbaik/admin/dashboard", Icons.Material.Filled.Dashboard, IsExact: true),
new("대시보드", "/admin/dashboard", Icons.Material.Filled.Dashboard, IsExact: true),
]),
new("CRM & 세무관리", [
new("세무 프로필", "/taxbaik/admin/tax-profiles", Icons.Material.Filled.Badge, AllowedRoles: ["Admin", "Manager"]),
new("신고 일정", "/taxbaik/admin/tax-filing-schedules", Icons.Material.Filled.EventNote, AllowedRoles: ["Admin", "Manager"]),
new("계약 관리", "/taxbaik/admin/contracts", Icons.Material.Filled.Description, AllowedRoles: ["Admin", "Manager"]),
new("상담 활동", "/taxbaik/admin/consulting-activities", Icons.Material.Filled.SupportAgent, AllowedRoles: ["Admin", "Manager"]),
new("수익 추적", "/taxbaik/admin/revenue-trackings", Icons.Material.Filled.Payments, AllowedRoles: ["Admin"]),
new("세무 프로필", "/admin/tax-profiles", Icons.Material.Filled.Badge, AllowedRoles: ["Admin", "Manager"]),
new("신고 일정", "/admin/tax-filing-schedules", Icons.Material.Filled.EventNote, AllowedRoles: ["Admin", "Manager"]),
new("계약 관리", "/admin/contracts", Icons.Material.Filled.Description, AllowedRoles: ["Admin", "Manager"]),
new("상담 활동", "/admin/consulting-activities", Icons.Material.Filled.SupportAgent, AllowedRoles: ["Admin", "Manager"]),
new("수익 추적", "/admin/revenue-trackings", Icons.Material.Filled.Payments, AllowedRoles: ["Admin"]),
]),
new("고객 관리", [
new("고객 카드", "/taxbaik/admin/clients", Icons.Material.Filled.Groups, AllowedRoles: ["Admin", "Manager", "Staff"]),
new("세무신고", "/taxbaik/admin/tax-filings", Icons.Material.Filled.Assignment, AllowedRoles: ["Admin", "Manager", "Staff"]),
new("고객 카드", "/admin/clients", Icons.Material.Filled.Groups, AllowedRoles: ["Admin", "Manager", "Staff"]),
new("세무신고", "/admin/tax-filings", Icons.Material.Filled.Assignment, AllowedRoles: ["Admin", "Manager", "Staff"]),
]),
new("홈페이지", [
new("공지사항", "/taxbaik/admin/announcements", Icons.Material.Filled.Campaign, AllowedRoles: ["Admin", "ContentManager"]),
new("FAQ 관리", "/taxbaik/admin/faqs", Icons.Material.Filled.HelpOutline, AllowedRoles: ["Admin", "ContentManager"]),
new("블로그 관리", "/taxbaik/admin/blog", Icons.Material.Filled.Article, AllowedRoles: ["Admin", "ContentManager"]),
new("시즌 시뮬레이터", "/taxbaik/admin/season-simulator", Icons.Material.Filled.CalendarMonth, AllowedRoles: ["Admin", "ContentManager"]),
new("문의 관리", "/taxbaik/admin/inquiries", Icons.Material.Filled.Inbox, AllowedRoles: ["Admin", "Manager", "Staff"]),
new("클라이언트 로그", "/taxbaik/admin/client-logs", Icons.Material.Filled.BugReport, AllowedRoles: ["Admin"]),
new("설정", "/taxbaik/admin/settings", Icons.Material.Filled.Settings, AllowedRoles: ["Admin"]),
new("공통관리", "/taxbaik/admin/common-codes", Icons.Material.Filled.Apps, AllowedRoles: ["Admin"]),
new("공지사항", "/admin/announcements", Icons.Material.Filled.Campaign, AllowedRoles: ["Admin", "ContentManager"]),
new("FAQ 관리", "/admin/faqs", Icons.Material.Filled.HelpOutline, AllowedRoles: ["Admin", "ContentManager"]),
new("블로그 관리", "/admin/blog", Icons.Material.Filled.Article, AllowedRoles: ["Admin", "ContentManager"]),
new("시즌 시뮬레이터", "/admin/season-simulator", Icons.Material.Filled.CalendarMonth, AllowedRoles: ["Admin", "ContentManager"]),
new("문의 관리", "/admin/inquiries", Icons.Material.Filled.Inbox, AllowedRoles: ["Admin", "Manager", "Staff"]),
new("클라이언트 로그", "/admin/client-logs", Icons.Material.Filled.BugReport, AllowedRoles: ["Admin"]),
new("설정", "/admin/settings", Icons.Material.Filled.Settings, AllowedRoles: ["Admin"]),
new("공통관리", "/admin/common-codes", Icons.Material.Filled.Apps, AllowedRoles: ["Admin"]),
]),
];
}
+1 -1
View File
@@ -106,6 +106,6 @@ public class ApiClient : IApiClient
{
var relative = $"api/{endpoint.TrimStart('/')}";
var appRoot = new Uri(_navigationManager.BaseUri);
return new Uri(appRoot, $"/taxbaik/{relative}");
return new Uri(appRoot, $"/{relative}"); // 상대 경로 사용 (Nginx가 /taxbaik 프리픽스 처리)
}
}
+10 -2
View File
@@ -42,16 +42,24 @@ public class AuthService
AdminUser? user;
try
{
_logger.LogDebug("로그인 시도: {Username} - DB 조회 시작", username);
user = await _adminUserRepository.GetByUsernameAsync(username);
_logger.LogDebug("로그인 시도: {Username} - DB 조회 완료, user={UserExists}", username, user != null ? "found" : "not found");
}
catch (Exception ex) when (_environment.IsDevelopment())
{
_logger.LogWarning(ex, "개발 환경에서 관리자 로그인 DB 조회 실패: {Username}", username);
_logger.LogError(ex, "❌ [개발 환경] 관리자 로그인 DB 조회 실패: {Username} | Exception Type: {ExType} | Message: {ExMessage}",
username, ex.GetType().Name, ex.Message);
if (ex.InnerException != null)
_logger.LogError(ex.InnerException, " Inner Exception: {InnerExMessage}", ex.InnerException.Message);
return AuthResult.DatabaseUnavailable();
}
catch (Exception ex)
{
_logger.LogError(ex, "관리자 로그인 중 예상치 못한 오류: {Username}", username);
_logger.LogError(ex, "관리자 로그인 중 예상치 못한 오류: {Username} | Exception Type: {ExType} | Message: {ExMessage}",
username, ex.GetType().Name, ex.Message);
if (ex.InnerException != null)
_logger.LogError(ex.InnerException, " Inner Exception: {InnerExMessage}", ex.InnerException.Message);
return AuthResult.DatabaseUnavailable();
}
+3 -3
View File
@@ -24,7 +24,7 @@ test.describe('admin smoke', () => {
text.includes('instantiate_wasm_module') ||
text.includes('resource-collection') ||
text.includes("The value 'get' is not a function") ||
text.includes('download \'http://localhost:5001/taxbaik/admin/_framework/') ||
text.includes('download \'http://localhost:5001/admin/_framework/') ||
text.includes('failed 404 Not Found')
) {
return;
@@ -42,7 +42,7 @@ test.describe('admin smoke', () => {
text.includes('Failed to fetch') ||
text.includes('resource-collection') ||
text.includes("The value 'get' is not a function") ||
text.includes('download \'http://localhost:5001/taxbaik/admin/_framework/') ||
text.includes('download \'http://localhost:5001/admin/_framework/') ||
text.includes('failed 404 Not Found')
) {
return;
@@ -56,7 +56,7 @@ test.describe('admin smoke', () => {
await expect(page.getByRole('heading', { name: /관리자 로그인/ })).toBeVisible();
await loginThroughAdminUi(page, baseUrl, username, password);
await expect(page).toHaveURL(/\/taxbaik\/admin\/dashboard$/, { timeout: 20_000 });
await expect(page).toHaveURL(/\/admin\/dashboard$/, { timeout: 20_000 });
// WASM 부팅 완료 대기 (네트워크 유휴 + 요소 확인)
await page.waitForLoadState('networkidle', { timeout: 30_000 });