gpt4 book ai didi

asp.net - 如何通过 Azure Active Directory 对 Multi-Tenancy ASP.NET 应用程序进行身份验证?

转载 作者:行者123 更新时间:2023-12-02 01:40:31 29 4
gpt4 key购买 nike

我一直在我的数据中心使用 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 配置?

我可以在网络应用程序根文件夹级别执行此操作吗? (也许可以通过设置该文件夹的授权来向该客户的 Azure AD 中的用户授予权限?)

例如,给定此 Windows Server 配置时,我的目标:

  • 主机 (IIS 8)“网络主机”
    • 网络应用“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 的用户内容。

谢谢!

最佳答案

您绝对可以在自己的服务器上运行的应用程序上利用 Azure AD。您不需要在 IIS 级别应用设置。当您使用 Azure AD 时,Windows 集成身份验证将在客户端和 Azure AD 终结点之间进行 - 这会导致在不需要 Windows 集成身份验证的 channel 上发送到应用程序的 token 。这使得您的应用程序可以托管在任何地方,应用程序本身没有基础设施限制。看看this sample有关如何设置一个应用程序以信任 Azure AD 租户的说明。您可以将相同的流程应用于所有应用程序,将它们指向不同的 AAD 租户。完成此操作后:您可以跳过插页式身份验证页面并按照说明获取 Windows 集成身份验证 here 。我建议您首先让示例运行起来,然后才关注最后一部分。同时解决这两件事可能很困难。

关于asp.net - 如何通过 Azure Active Directory 对 Multi-Tenancy ASP.NET 应用程序进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28860669/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com