我使用 .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%... ...”
如有任何帮助,我们将不胜感激。
谢谢。
您可以在组件中添加要阻止未经身份验证的用户访问的代码。
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
_Imports.razor 不是这样使用的。它允许您定义一组要全局导入的命名空间,使这些命名空间可供应用程序中的所有组件使用,而无需在每个组件中显式导入它们。
也就是说你可以这样添加代码,效果是一样的。
1.添加_Imports.razor。
@using Microsoft.AspNetCore.Authorization
2.添加您想要限制可访问性的组件。
@attribute [Authorize]