【发布时间】:2022-01-27 19:43:49
【问题描述】:
我已将代码副本推送到以下github repo
我有一个新的 dotnet 6 Blazor 服务器项目,在 VS2022 v17.0.4 中创建
我想控制根据登录到 Azure Active Directory 的用户的声明显示的 Blazor 组件。
我创建了一个具有“管理员”应用角色的应用注册,如下所示:
我有两个用户:
- rob.bowman(不是管理员成员)
- aza.rob.bowman(是管理员成员)
为了测试声明,我添加了以下内容以在 Program.cs 文件中创建策略:
builder.Services.AddAuthorization(options =>
{
options.AddPolicy("AdminOnly", policy => policy.RequireClaim("App.Admin"));
});
注意:我也尝试过使用“Admin”而不是“App.Admin”的声明
我有以下用于测试的页面:
@page "/testadmin"
<h3>TestAdmin</h3>
<AuthorizeView Policy="AdminOnly">
<p>You can only see this if you satisfy the "AdminOnly" policy.</p>
</AuthorizeView>
我的问题是,受保护的段落不显示,无论我以何种用户身份登录:
为了帮助诊断,我添加了一个来自this microsoft docs 的页面,其中展示了声明。这确实显示了对 App.Admin 角色的声明
【问题讨论】:
标签: blazor blazor-server-side claims-based-identity microsoft-identity-platform