如何应用剃须刀排除剃须刀中的某些页面?

时间:2020-07-13 18:29:02

标签: c# authentication razor .net-core blazor

我希望第一页Welcome.razor的路由等于@page "/"而不执行某些提议的app,razor页,

我有一个由 blazor 创建的应用程序,并通过对每个页面运行AuthenticationStateProvider的回调函数使用GetAuthenticationStateAsync来实现身份验证,以检测用户 auth或noauth ,因为在app.razor中会自动调用GetAuthenticationStateAsync,如果用户noAthuor页面重定向到 LoginPage.razor ,则永远不会显示{{1 }}

APP.razor

Welcome.razor

Welcome.razor

<CascadingAuthenticationState>
    <Router AppAssembly="@typeof(Program).Assembly">
        <Found Context="routeData">
            <AuthorizeView>
                <Authorized>
                    <AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
                </Authorized>
                <NotAuthorized>
                    <CascadingAuthenticationState>
                        <RedirectToLogin />
                    </CascadingAuthenticationState>
                </NotAuthorized>
            </AuthorizeView>
        </Found>
        <NotFound>
            <CascadingAuthenticationState>
                <LayoutView Layout="@typeof(EmptyLayout)">
                    <p>No Found</p>
                </LayoutView>
            </CascadingAuthenticationState>
        </NotFound>
    </Router>
</CascadingAuthenticationState>

我曾经用过Require authorization to access a page,但没有用

编辑

如果可以显示@page "/" ... <h3>Welcome</h3> ... @code { } 页面上使用@attribute [AllowAnonymous],但是在运行welcome.razor之后,请在步骤之后通过使用App.razor已经用户 noauth 的用户来检查身份验证重定向到GetAuthenticationStateAsync,最后显示LoginPage页面。

实际上,这对于某些重定向页面来说是个大问题

如何跳过所有步骤?

0 个答案:

没有答案