fix: 배포 후 관리자 세션 복구 처리
This commit is contained in:
@@ -80,7 +80,7 @@
|
||||
|
||||
await ApiClient.SetAuthToken(response.Token);
|
||||
await AuthStateProvider.LoginAsync(response.Token);
|
||||
NavigationManager.NavigateTo("/taxbaik/admin/dashboard", forceLoad: false);
|
||||
NavigationManager.NavigateTo(GetReturnUrl(), forceLoad: false);
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -100,4 +100,22 @@
|
||||
public string Username { get; set; } = "";
|
||||
public string Password { get; set; } = "";
|
||||
}
|
||||
|
||||
private string GetReturnUrl()
|
||||
{
|
||||
var uri = NavigationManager.ToAbsoluteUri(NavigationManager.Uri);
|
||||
if (!Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(uri.Query).TryGetValue("returnUrl", out var returnUrl)
|
||||
|| string.IsNullOrWhiteSpace(returnUrl))
|
||||
{
|
||||
return "/taxbaik/admin/dashboard";
|
||||
}
|
||||
|
||||
var value = returnUrl.ToString();
|
||||
if (!value.StartsWith("admin", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return "/taxbaik/admin/dashboard";
|
||||
}
|
||||
|
||||
return $"/taxbaik/{value.TrimStart('/')}";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user