使用组角色授权保护Azure功能

使用组角色授权保护Azure功能,azure,authentication,azure-active-directory,authorization,azure-functions,Azure,Authentication,Azure Active Directory,Authorization,Azure Functions,我一直在尝试实现基于组的授权。 我已经使用以下内容实现了基于用户的授权: 使用此内容,是否有人知道如何更改我的代码,以便它能够处理组而不是角色?我将Azure中的清单更改为包含“securitygroups”。问题是从声明返回的是组Id,而不是组名称。不知道如何将它们匹配在一起。任何帮助都将不胜感激 下面是我使用的链接中的代码示例: 内部类RoleAuthorizeAttribute:FunctionInvocationFilterAttribute { }使用复制。请参阅该帖子中的评论。 p

我一直在尝试实现基于组的授权。 我已经使用以下内容实现了基于用户的授权: 使用此内容,是否有人知道如何更改我的代码,以便它能够处理组而不是角色?我将Azure中的清单更改为包含“securitygroups”。问题是从声明返回的是组Id,而不是组名称。不知道如何将它们匹配在一起。任何帮助都将不胜感激

下面是我使用的链接中的代码示例: 内部类RoleAuthorizeAttribute:FunctionInvocationFilterAttribute {

}

使用复制。请参阅该帖子中的评论。
public override async Task OnExecutingAsync(FunctionExecutingContext executingContext, CancellationToken cancellationToken)
{
    if (!executingContext.Arguments.ContainsKey("principal"))
    {
        throw new AuthorizationException("Authentication failed. Missing claims.");
    }

    var claimsPrincipal = (ClaimsPrincipal)executingContext.Arguments["principal"];
    var roles = claimsPrincipal.Claims.Where(e => e.Type == "roles").Select(e => e.Value);

    var isMember = roles.Intersect(_validRoles).Count() > 0;
    if (!isMember)
    {
        throw new AuthorizationException("Authentication failed. User not assigned to one of the required roles.");
    }
}