使用 .NET 8.0 通过 Blazor 服务器 Web 应用程序访问站点时如何显示登录页面

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

我使用 .NET 8.0 和身份验证类型个人帐户创建了 Blazor 服务器 Web 应用程序。 Web 应用程序代码由 Visual Studio 2022 自动生成。一切都按预期正常工作。

但是我想更改代码,以便当用户访问网络应用程序时,它会显示登录页面并确保用户在访问网站内容之前经过身份验证。

我尝试添加以下几行(根据谷歌搜索的建议)

@using Microsoft.AspNetCore.Authorization

@attribute [Authorize]

根据 Google 搜索上的建议到 _imports.razor,但我收到错误 - 无法阅读此页面

“看起来网页位于 https://localhost:7145/Account/Login?ReturnUrl=%2FAccount%2FLogin%3FReturnUrl%3D%252FAccount%252FLogin%253FReturnUrl%253D%25252FAccount%25252FLogin%25253FReturnUrl%25253D%... ...”

如有任何帮助,我们将不胜感激。

谢谢。

c# asp.net-core authentication blazor-server-side .net-8.0
1个回答
0
投票

您可以在组件中添加要阻止未经身份验证的用户访问的代码。

@using Microsoft.AspNetCore.Authorization

@attribute [Authorize]

_Imports.razor 不是这样使用的。它允许您定义一组要全局导入的命名空间,使这些命名空间可供应用程序中的所有组件使用,而无需在每个组件中显式导入它们。

也就是说你可以这样添加代码,效果是一样的。

1.添加_Imports.razor。

@using Microsoft.AspNetCore.Authorization

2.添加您想要限制可访问性的组件。

@attribute [Authorize]
© www.soinside.com 2019 - 2024. All rights reserved.