You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:48:21