我一直在我的数据中心使用 Azure Active Directory 试用许可证进行一些测试。我们公司拥有自己的托管服务和物理硬件,目前我们希望保持这种状态(尽管我们将来可能会研究将其全部转移到云服务)。
目前,我们正在尝试为使用 Azure AD 的客户提供单点登录选项。我们已经通过 CAS 支持这一点,但一些客户已经在内部使用 Azure AD,并希望将其用作与 IIS 和 ASP.NET 集成的 Windows 身份验证方法。
我该如何以支持多个租户的方式进行设置?我无法弄清楚如何在 IIS 级别执行此操作,并且发现文献在明确的答案方面有点缺乏。
据我所知,我必须为每个客户创建一个 VM(单独的 Windows Server 实例),将其配置为通过 Azure AD 进行身份验证并将 Windows 身份验证凭据传递给 IIS。这有点烦人。
有没有一种方法可以让我继续在自己的服务器上运行 IIS 和 ASP.NET Web 应用程序,但使用 Azure AD 进行 ASP.NET 的 Windows 身份验证,其中每个 IIS Web 应用程序实例都有自己单独的 Azure AD 配置?
我可以在 Web 应用程序根文件夹级别执行此操作吗? (也许可以通过设置该文件夹的授权来向该客户的 Azure AD 中的用户授予权限?)
例如,我的目标是给定以下 Windows Server 配置:
- Host (IIS 8) "webhost"
- 网络应用程序“A”,
c:\apps\a
,授权用户包括AAD“A”用户
- 网络应用程序“B”,
c:\apps\b
,授权用户包括AAD“B”用户
客户 A 的用户使用此 url:http://webhost/a
客户 B 的用户使用此 URL:http://webhost/b
当用户 A 浏览到 Web 应用程序 A 时,集成 Windows 身份验证应向用户询问 Azure AD“A”Windows 用户名和密码,或者如果已通过身份验证,则显示 Web 应用程序 A 中的用户内容。
当用户 B 浏览到 Web 应用程序 B 时,集成 Windows 身份验证应向用户询问 Azure AD“B”Windows 用户名和密码,或者如果已通过身份验证,则显示来自 Web 应用程序 B 的用户内容。
Thanks!