此问题通常是因为未将认证状态存储在浏览器的存储中导致的。为了解决此问题,您可以使用以下代码来存储认证状态:
//在认证成功后存储AuthenticationState
var authState = Task.FromResult(new AuthenticationState(new ClaimsPrincipal(identity))); await LocalStorage.SetItemAsync("authState", JsonSerializer.Serialize(authState.Result));
//在组件加载时检索AuthenticationState
protected override async Task OnInitializedAsync()
{
var authState = await LocalStorage.GetItemAsync
请注意,此处使用了Blazor提供的本地存储机制。您也可以使用其他存储机制来实现认证状态的存储和检索。