2017-08-09 49 views
0

我们有一个多租户ASP.NET MVC应用程序* .foo.com在Azure中托管。我们也为此设置了许可。以下是我想要实现的内容:在Azure中绕过基于角色的AAD访问?

  1. 只要分配给我们定义的角色,允许外部租户的用户登录。
  2. 允许'foo'的所有员工都登录而不考虑角色分配,因为我们不想为每个人分配一个角色。

有谁知道上述要求是否可以使用单一的aad应用程序满足? 我能想到的唯一其他选择是拥有2个应用程序,其中第一个应用程序是针对外部用户和角色的多租户应用程序,而第二个应用程序则是针对内部用户的单个租户应用程序。

任何帮助表示赞赏!

谢谢

回答

1

您可以使用一个多租户应用程序来实现您的两个要求。

要求1:在来自不同租户的用户同意该应用程序后,在用户的租户中创建一个称为服务主体的应用程序的表示,您可以在Enterprise applications找到所配置的应用程序。然后管理员可以将角色分配给外部租户中的用户: 单击Users选项卡。选择任何用户并将该用户分配给应用程序角色。

要求2:如果您将User assignment required?设置为false,则当前租户中的任何人都可以默认访问该应用程序。您可以在Enterprise applications - >您的应用程序 - >Properties中找到该设置。

+0

不幸的是,要求2中的指示不适用于我。我已经将用户分配设置为false。但是当我运行该应用程序时,出现以下错误:'AADSTS50105:登录的用户未分配给应用程序的角色。有趣的是,如果我从另一个租户登录,该应用程序工作正常。是否需要“用户分配?”为内部和外部租户工作? – AgentHunt

+0

不,内部和外部租户的申请有其自己的设置(独立设置)。管理员应在其租户中设置该应用程序的“需要用户分配”。因此,您可以将“需要用户分配”设置为false,并且其他租户的管理员应该根据需要设置价值基础。 –

+0

嗯。那么这是否意味着,如果外部租户的管理员将“需要用户分配”设置为false,则这些租户的所有员工都可以登录到我的应用程序?有没有办法阻止没有任何角色集的其他租户的用户? – AgentHunt