我正在使用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应用程序吗?