Blazor导航管理器/身份验证



我正在使用Blazor身份验证,并搭建了登录页面。当用户未通过身份验证时,我希望在Layout页面上重定向到它,但很不幸它不起作用。

这是我的代码:

[Inject] private NavigationManager nav { get; set; }
protected override async Task OnInitializedAsync()
{
var authState = await auth.GetAuthenticationStateAsync();
var user = authState.User;
if (!user.Identity.IsAuthenticated)
{
nav.NavigateTo("/Identity/Account/Login");
}
}

实际发生的情况是,Blazor认为该页面不存在,并呈现NotFound:<p>Sorry, there's nothing at this address.</p>.

话虽如此;在不做任何其他事情的情况下,当我刷新页面时,它实际上打开了登录页面。这对我来说没有意义。

有人能帮我了解一下这里发生了什么吗。

问候,

Chris

您应该使用authorize页面属性。如果您将其添加到页面中,blazor框架将重定向到登录页面。

它是Blazor WASM应用程序吗?

最新更新