我们开始将项目迁移到 blazor,并且在将内容限制为仅登录用户时遇到了一些问题。
对于此测试,我们使用了标准的 Visual Studio 2019 Blazor 服务器端项目模板,并启用了本地用户和帐户身份验证。
然后我们将 App.razor 文件更改为以下内容:
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
<NotAuthorized>
NOT AUTHORIZED!!!!!
</NotAuthorized>
<Authorizing>
AUTHORIZING!!!!!
</Authorizing>
</AuthorizeRouteView>
</Found>
<NotFound>
<CascadingAuthenticationState>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</CascadingAuthenticationState>
</NotFound>
中的代码<NotAuthorized>
永远不会被击中,我已经确认浏览器上没有 cookie,甚至在私人浏览器窗口中也尝试过。
我在另一个组件中注入了 HTTPContext 以查看当前用户的情况。当前用户不为空,它具有身份,但显示未经身份验证,并且没有预期的声明。
我在这里缺少什么吗?