0

我已经阅读了许多博客,其中包括:

https://www.codeproject.com/Articles/1254806/Authentication-and-Authorization-in-ASP-NET-Core-2

我正在使用 Azure 活动目录构建使用 OpenIdConnect 的构建应用程序。我的愿望是将每个应用程序的访问权限仅限于特定组中的用户。例如,应用程序 1 只能由组 1 中的用户访问,而应用程序 2 只能由组 2 中的用户访问。

因此,当任一应用程序的用户使用 Azure AD 登录时,我希望 Azure AD 返回登录用户的组声明。根据组,我决定(从应用程序方面)是否允许用户访问应用程序。我已经能够弄清楚如何返回组...

当我在应用程序清单中包含 groupMemberClaims 时,我收到错误Bad Request...这是由于一些用户属于这么多安全组而向请求中添加了太多标头的结果。这是我的困境。

以前有人遇到过这个问题,你是如何解决的?

4

1 回答 1

0

您可以在应用程序清单中为用户定义角色,而不是依赖组。然后您可以将这些角色分配给用户。如果您有 Azure AD 的付费许可证(我忘记了哪一层),您还可以将用户角色分配给组。

以下是应用清单中的用户角色示例:

{
  "appRoles": [
    {
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "Administrator",
      "id": "179c1dc0-4801-46f3-bc0d-35f059da1415",
      "isEnabled": true,
      "description": "Administrators can access advanced features.",
      "value": "admin"
    }
  ]
}

这是令value牌中提供给您的应用程序的内容。定义角色后,单击“本地目录中的托管应用程序”(即服务主体)。在那里您可以找到用户和组,并为用户(和组)分配角色。

我关于角色和自定义权限主题的文章:https ://joonasw.net/view/defining-permissions-and-roles-in-aad

于 2018-09-26T18:23:02.553 回答