This commit is contained in:
@@ -3,16 +3,27 @@
|
||||
@{
|
||||
ViewData["Title"] = "관리자 로그인";
|
||||
ViewData["Description"] = "관리자 로그인 페이지입니다.";
|
||||
ViewData["CanonicalUrl"] = $"{Request.Scheme}://{Request.Host}/taxbaik/admin/login";
|
||||
ViewData["CanonicalUrl"] = $"{Request.Scheme}://{Request.Host}/admin/login";
|
||||
}
|
||||
|
||||
<section class="container py-5" style="max-width: 560px;">
|
||||
<div class="card shadow-sm border-0">
|
||||
<section class="admin-login-shell">
|
||||
<div class="admin-login-hero">
|
||||
<p class="admin-login-kicker">TaxBaik Admin</p>
|
||||
<h1>관리자 로그인</h1>
|
||||
<p>로그인 후 대시보드, 문의 처리, 콘텐츠 운영 화면으로 바로 이동합니다.</p>
|
||||
</div>
|
||||
|
||||
<div class="card shadow-sm border-0 admin-login-card">
|
||||
<div class="card-body p-4 p-md-5">
|
||||
<div class="mb-4">
|
||||
<p class="text-uppercase text-muted small mb-1">TaxBaik Admin</p>
|
||||
<h1 class="h3 fw-bold mb-2">관리자 로그인</h1>
|
||||
<p class="text-muted mb-0">로그인 후 대시보드와 관리자 기능을 이용할 수 있습니다.</p>
|
||||
<div class="admin-login-summary mb-4">
|
||||
<div>
|
||||
<p class="text-uppercase text-muted small mb-1">현재 화면</p>
|
||||
<strong>로그인</strong>
|
||||
</div>
|
||||
<div>
|
||||
<p class="text-uppercase text-muted small mb-1">진입 후</p>
|
||||
<strong>대시보드 자동 이동</strong>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (!string.IsNullOrWhiteSpace(Model.ErrorMessage))
|
||||
@@ -20,7 +31,7 @@
|
||||
<div class="alert alert-danger" role="alert">@Model.ErrorMessage</div>
|
||||
}
|
||||
|
||||
<form id="admin-login-form" method="post" class="vstack gap-3">
|
||||
<form id="admin-login-form" method="post" class="vstack gap-3 admin-login-form">
|
||||
@Html.AntiForgeryToken()
|
||||
<input type="hidden" id="ReturnUrl" name="ReturnUrl" value="@Model.ReturnUrl" />
|
||||
|
||||
@@ -37,7 +48,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" id="RememberMe" name="RememberMe" type="checkbox" value="true" checked="@(Model.RememberMe ? "checked" : null)" />
|
||||
<input class="form-check-input" id="RememberMe" name="RememberMe" type="checkbox" value="true" checked="@(Model.RememberMe)" />
|
||||
<label class="form-check-label" for="RememberMe">로그인 상태 유지</label>
|
||||
</div>
|
||||
|
||||
@@ -46,8 +57,8 @@
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<p class="text-muted small mt-4 mb-0">
|
||||
이 페이지는 서버 렌더링 기반입니다. 로그인 성공 후 관리자 웹앱으로 이동합니다.
|
||||
<p class="admin-login-footnote">
|
||||
이 페이지는 서버 렌더링 기반이며, 로그인 성공 후 관리자 웹앱으로 이동합니다.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -91,11 +91,8 @@ public class LoginModel(AuthService authService) : PageModel
|
||||
if (string.Equals(absolute.Host, "www.taxbaik.com", StringComparison.OrdinalIgnoreCase) ||
|
||||
string.Equals(absolute.Host, "taxbaik.com", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
// PathAndQuery에서 /taxbaik 프리픽스 제거 (Nginx가 처리)
|
||||
var path = absolute.PathAndQuery;
|
||||
return path.StartsWith("/taxbaik/", StringComparison.OrdinalIgnoreCase)
|
||||
? path.Substring("/taxbaik".Length) // "/taxbaik/admin" → "/admin"
|
||||
: path;
|
||||
return path;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user