Azure 静态 Web 应用上托管的 Blazor WASM 上出现页面未找到错误

问题描述 投票:0回答:1

我有一个非常基本的 Blazor WASM 应用程序,针对托管在 Azure 静态 Web 应用程序上的 .NET 8。

我刚刚添加了一个非常简单的页面 - 见下文。我可以直接在本地访问 URL,它工作正常,但在 Azure 静态 Web 应用服务上,我收到以下页面未找到错误 - 见下文。有趣的是,这不是我的应用程序应该生成的页面未找到错误。

这是 Azure 页面未找到错误:

enter image description here

我的简单页面如下所示:

@page "/privacy"

<h3>Privacy Policy</h3>

<div>
   <p>Some text about privacy policy</p>
   <p>More text about privacy policy</p>
</div>

我的应用程序使用 Azure AD B2C 进行用户管理,我刚刚添加的隐私页面应该对公众可用,即匿名用户和经过身份验证的用户。

这就是我的

App.razor
的样子:

<CascadingAuthenticationState>
    <Router AppAssembly="@typeof(App).Assembly">
        <Found Context="routeData">
            <AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)">
                <NotAuthorized>
                    @if (context.User.Identity?.IsAuthenticated != true)
                    {
                        <RedirectToLogin />
                    }
                    else
                    {
                        <p role="alert">You are not authorized to access this resource.</p>
                    }
                </NotAuthorized>
            </AuthorizeRouteView>
            <FocusOnNavigate RouteData="@routeData" Selector="h1" />
        </Found>
        <NotFound>
            <PageTitle>Not found</PageTitle>
            <LayoutView Layout="@typeof(MainLayout)">
                <p role="alert">Sorry, there's nothing at this address.</p>
            </LayoutView>
        </NotFound>
    </Router>
</CascadingAuthenticationState>

知道这里可能出现什么问题吗?

blazor blazor-webassembly azure-static-web-app
1个回答
0
投票

页面未找到错误

为了避免静态 Web 应用程序中出现页面未找到错误,我将

staticwebapp.config.json
文件添加到了项目的根目录中。

它允许您在 Azure 环境中配置路由、身份验证、授权以及与应用程序功能相关的其他关键设置。

staticwebapp.config.json:

{
  "navigationFallback": {
    "rewrite": "/index.html"
  }
}

如果您使用身份验证,请使用下面的 staticwebapp.config.json 文件。

{
  "auth": {
    "roles": {
      "anonymous": [
        "/public/*"
      ],
      "authenticated": [
        "/private/*"
      ]
    }
  },
  "navigationFallback": {
    "rewrite": "/index.html"
  }
}

Azure 静态 Web 应用程序输出

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.