我已经在我的数据中心中使用Azure Active Directory试用版许可证进行了一些测试。我们公司拥有自己的托管服务和物理硬件,现在我们希望保持这种状态(尽管将来可能会调查将其全部迁移到云服务中的情况)。
目前,我们正在尝试为使用Azure AD的客户提供单一登录选项。我们已经通过CAS支持此功能,但是一些客户已经在内部使用Azure AD,并希望将其用作IIS和ASP.NET的集成Windows身份验证方法。
如何以支持多个租户的方式进行设置?我在弄清楚如何在IIS级别上执行此操作时遇到了麻烦,并且发现有关明确答案的文献有些缺乏。
尽我所知,我将必须为每个客户创建一个VM(单独的Windows Server实例),该VM配置为通过Azure AD进行身份验证并将Windows身份验证凭据传递给IIS。这有点烦人。
有没有一种方法可以继续在自己的服务器上运行IIS和ASP.NET Web应用程序,但是可以将Azure AD与ASP.NET一起用于Windows身份验证,其中每个IIS Web应用程序实例都有自己单独的Azure AD配置?
我可以在Web应用程序根文件夹级别执行此操作吗?(也许通过设置该文件夹的授权来向该客户的Azure AD中的用户授予权限?)
例如,鉴于此Windows Server配置,我的目标是:
c:\apps\a
授权用户包括AAD“ A”用户c:\apps\b
授权用户包括AAD“ B”用户客户A的用户使用以下网址: http://webhost/a
客户B的用户使用以下网址: http://webhost/b
当用户A浏览到Web应用程序A时,集成的Windows身份验证应向用户询问Azure AD“ A” Windows用户名和密码,或者如果已通过身份验证,则显示来自Web应用程序A的用户内容。
当用户B浏览到Web应用程序B时,集成的Windows身份验证应向用户询问Azure AD“ B” Windows用户名和密码,或者如果已通过身份验证,则显示来自Web应用程序B的用户内容。
谢谢!
您绝对可以在自己的服务器上运行的应用程序上利用Azure AD。您不需要在IIS级别上应用设置。当您使用Azure AD时,Windows集成身份验证将在客户端和Azure AD终结点之间进行-这导致令牌被发送到不需要Windows集成身份验证的通道上的应用程序。这就是让您的应用程序可以托管在任何地方的原因,而应用程序本身没有基础设施的限制。请看此示例,以获取有关如何设置一个应用程序以信任Azure AD租户的说明。您可以对所有应用程序应用相同的过程,将它们指向不同的AAD租户。完成此操作后:您可以按照此处的说明跳过插页式身份验证页面,并获得Windows集成身份验证。我建议您首先使示例工作,然后再专注于最后一部分。同时解决这两个问题可能很困难。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句