在Blazor Server中获取Azure App Service角色的技术问题
Blazor Server(.NET6)获取Azure AD应用角色实现授权问题
我已经通过默认配置将Blazor Server应用(.NET6)连接到Azure Active Directory实现单点登录,运行正常。现在想通过Azure应用角色对应用各模块做用户授权,Azure端的配置已经完成:
- 在Azure中注册了应用,创建了两个应用角色
- 角色已分配给对应的AAD组
- 应用清单(manifest)中已存在这些角色,内容如下:
"appRoles": [ { "allowedMemberTypes": [ "User" ], "description": "this is the role description ", "displayName": "Owner", "id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx", "isEnabled": true, "lang": null, "origin": "Application", "value": "Owner" }, { "allowedMemberTypes": [ "User" ], "description": "this is the role description", "displayName": "Approver", "id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx", "isEnabled": true, "lang": null, "origin": "Application", "value": "Approvers" } ],
但现在无法在Blazor Server应用中获取这些角色:
- 参考WebAssembly相关教程时,发现教程里要求的
using Microsoft.AspNetCore.Components.WebAssembly.Authentication;命名空间在Blazor Server中不存在 - 考虑过通过MS Graph获取AAD组,但操作太复杂,不想用这种方式
- 找到过StackOverflow相关帖子,但不确定是否适配Azure应用角色的场景
补充:我找到了ASP.NET Core 7.0的角色授权文档,但我用的是.NET6,文档里的AddDefaultIdentity方法无法被识别。当前代码里有builder.Services.AddIdentity<IdentityUser, IdentityRole>();,想请教能不能通过builder.Services.AddIdentity<IdentityUser, IdentityRole>().AddRoles(???);这种方式来添加Azure角色?
内容的提问来源于stack exchange,提问作者USMC6072
相关产品推荐
相关产品推荐

