我在MainLayout.razor中使用<AuthorizeView>
,<NotAuthorized>
和<Authorized>
。
App.razor:
<CascadingAuthenticationState>
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
<NotAuthorized>
<RedirectToLogin />
</NotAuthorized>
</AuthorizeRouteView>
</Found>
<NotFound>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
</CascadingAuthenticationState>
当我运行Blazor应用程序时,在MainLayout.razor中@Body的位置上有一个“正在加载...”,此后还有一个“正在授权...”。 我想避免对“索引页”进行“授权...”,因为当用户第一次访问该应用程序时,如果有一秒钟的“正在授权...”,它看起来就不好了。我也不想要一个空文本,因为呈现了MainLayout.razor中的所有内容,但是@Body看起来不太好。