Fix public home routing and add home smoke test
This commit is contained in:
@@ -6,7 +6,31 @@
|
||||
if (!firstRender)
|
||||
return;
|
||||
|
||||
var returnUrl = Uri.EscapeDataString(Navigation.ToBaseRelativePath(Navigation.Uri));
|
||||
var returnUrl = Uri.EscapeDataString(GetSafeReturnUrl());
|
||||
Navigation.NavigateTo($"/taxbaik/admin/login?returnUrl={returnUrl}", replace: true);
|
||||
}
|
||||
|
||||
private string GetSafeReturnUrl()
|
||||
{
|
||||
try
|
||||
{
|
||||
var current = new Uri(Navigation.Uri);
|
||||
var baseUri = new Uri(Navigation.BaseUri);
|
||||
|
||||
if (current.IsAbsoluteUri &&
|
||||
string.Equals(current.Scheme, baseUri.Scheme, StringComparison.OrdinalIgnoreCase) &&
|
||||
string.Equals(current.Authority, baseUri.Authority, StringComparison.OrdinalIgnoreCase) &&
|
||||
current.AbsolutePath.StartsWith(baseUri.AbsolutePath, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
var relative = current.AbsolutePath[baseUri.AbsolutePath.Length..] + current.Query + current.Fragment;
|
||||
return string.IsNullOrWhiteSpace(relative) ? "dashboard" : relative.TrimStart('/');
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Fall through to a safe default.
|
||||
}
|
||||
|
||||
return "dashboard";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -476,8 +476,9 @@ app.MapHealthChecks("/healthz");
|
||||
app.MapRazorPages(); // Sitemap.cshtml, Rss.cshtml, Feed.cshtml
|
||||
app.MapStaticAssets();
|
||||
|
||||
// Blazor WebAssembly - prerender 지원
|
||||
app.MapRazorComponents<TaxBaik.WasmClient.Components.Admin.App>()
|
||||
// Blazor WebAssembly - 관리자 앱은 /taxbaik/admin 아래에서만 렌더링
|
||||
app.MapGroup("/taxbaik/admin")
|
||||
.MapRazorComponents<TaxBaik.WasmClient.Components.Admin.App>()
|
||||
.AddInteractiveWebAssemblyRenderMode()
|
||||
.AllowAnonymous();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user