【问题标题】:implementing azure group based access in an MVC5 app在 MVC5 应用程序中实现基于 azure 组的访问
【发布时间】:2017-07-20 15:54:44
【问题描述】:

我是 azure Active Directory 的新手,我正在尝试在我的 mvc5 (C#) 应用程序中实现基于组的访问机制。我对 Azure 端进行了排序,我的用户被分配到组,但我希望能够确定他们所在的组以控制对 Web 应用程序内区域的访问。 (类似于基于角色的访问) 所以我需要这样的东西

if (User.IsInGroup("Admin") || User.IsIngroup("Creator"))
        {
            //do something here
        }

只有 2 个组,所以我真的不需要角色。我已经查看了一些使用图形 api 的选项,对于我想要实现的目标,它们似乎是巨大的矫枉过正。实现这一点的最佳方法是什么?我需要实现图形 API 吗?我很感激任何建议

【问题讨论】:

  • 您希望得到什么答案?
  • 多么奇怪的评论
  • 奇怪的问题会得到奇怪的 cmets。您正在根据您的要求和期望的快捷方式评估 API。图形 API 或组声明意义重大,但您对 Nan 答案的 OP 和下方评论含糊不清。所以会期待一些问题并努力回答。所以我问.. 明白了吗?
  • 我的问题再清楚不过了
  • 我现在已经解决了这个问题

标签: azure azure-active-directory azure-ad-graph-api


【解决方案1】:

您可以在 Azure AD 应用程序中启用组声明,这将使使用 AD 组启用访问管理变得简单。使您的应用程序能够接收组声明:

1.在您的应用程序页面中,单击“Manifest”以打开内联清单编辑器。

2.通过找到“groupMembershipClaims”设置来编辑清单,并将其值设置为“All”(如果您对分发列表不感兴趣,则设置为“SecurityGroup”)。

3.保存清单。

然后当用户登录时,你会得到token中的groups信息,但它会返回group的object id(即唯一标识,group name可以更改)。更多请点击herehere详细信息,另请参阅 Azure AD 示例 github 存储库中发布的新组声明示例:https://github.com/AzureADSamples/WebApp-GroupClaims-DotNet

如果有帮助请告诉我。

【讨论】:

  • 感谢您的建议,天蓝色的一面已经排序,我在声明令牌中获得了组信息。我已经查看了 github repo 中的示例,要实现如此简单的事情似乎很啰嗦。不过我会重新审视它
  • 是的,如果有群组声明,您不需要调用 microsoft graph api。另外,如果这个回复有帮助,请采纳为答案,这样可以帮助遇到同样问题的其他人。
  • 我似乎没有任何选项可以接受作为答案
  • @proteus ,请参阅here 了解如何接受作为答案。
猜你喜欢
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 2014-05-22
  • 2016-01-15
  • 2018-02-24
  • 2012-01-04
  • 1970-01-01
相关资源
最近更新 更多