【发布时间】:2020-07-18 23:31:03
【问题描述】:
我有一个 .NET Core 3.1 Blazor 项目,其中应用程序中有 3 个子文件夹,它们提供一个页面,每个页面的内容将使用 Three.JS 驱动 WebGL。
在我测试的第一个文件夹中,我创建了两个项目。第一个名为“_TestPage.cshtml”,另一个名为“Index.razor”。两个页面都包含以下@page 指令:
@page "/Applications/TestFolder1/Index"
_TestPage.cshtml 页面包含以下内容:
<!DOCTYPE html>
<html lang="en">
<body>
<app>
<component type="typeof(App)" render-mode="Server" />
</app>
</body>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>My Blazor App</title>
<base href="/" />
<script src="_framework/blazor.server.js"></script>
<style type="text/css">
body {
background-color: red;
}
</style>
</head>
</html>
Index.razor 页面还包含以下内容:
@layout EmptyLayout
@page "/Applications/Monitor/Index"
<AuthorizeView>
<Authorized>
<p style="color: black;">***I can not see this text either...***</p>
</Authorized>
<NotAuthorized>
<RedirectNotAuthorizedAccess />
</NotAuthorized>
</AuthorizeView>
但是,当应用程序启动时,我可以直接进入子文件夹中的索引页面,而无需登录。我的背景是纯红色,但没有看到任何呈现的文本,也没有被重定向到登录页面,因为我还没有登录。
当我不使用由 Visual Studio 创建的默认“MainLayout”组件并使用 @layout 指令覆盖剃须刀页面内的布局时,我需要做一些不同的事情来让级联身份验证状态工作吗?
【问题讨论】:
标签: authentication razor layout blazor