Azure AD/ADFS SSO 跨 ASP.NET MVC 应用程序
Azure AD/ADFS SSO Across ASP.NET MVC Applications
我已经阅读了大量来自 MS 的关于通过 Azure AD 进行身份验证的文章。选项太多,但我读过的内容似乎都无法解决我的问题。
情况如下:
我有 3 个不同的 Web 应用程序(都是 ASP.NET MVC 5)。它们都在我们的网络内部托管在同一个 server/IIS 上,并使用 windows 针对我们内部 AD 的集成身份验证。
我们将这些应用程序称为 App_A、App_B 和 App_C。
- App_A 位于我们的 DNS
中的 appA.mydomain.com
- App_B 位于我们的 DNS
中的 appB.mydomain.com
- App_C 位于我们的 DNS
中的 appC.mydomain.com
用例是这样的:
- 用户导航到 App_A 做了一些工作,最终被重定向到 App_B
- 用户在 App_B 中做了一些工作,最终被重定向到 App_C
- 用户在 App_C
中做了一些工作
当用户使用加入域的 PC 时,系统永远不会提示他们登录。Windows 通过集成身份验证为他们处理。
现在,当用户想要在非域设备(例如 iPad)上执行相同的工作时会发生这种情况,无论是在 VPN 上还是连接到内部 WiFi:
- 当用户加载 App_A 时,系统会提示他们登录并使用他们的 windows 凭据
- 当他们到达 App_B 时,系统会再次提示他们(不同的子域)
- 当他们到达 App_C 时,系统会再次提示他们(不同的子域)
必须使用相同的 Windows 凭据多次登录不是我们希望移动用户获得的体验。
我们希望发生的事情是让移动用户在点击 App_A 时登录一次,而在点击 App_B 或 App_C 时不必再次登录.同样,我们仍然希望加入域的 PC 上的用户根本不需要登录,因为他们已经在他们的机器上进行了身份验证。
仅供参考,我们还将我们的 AD 同步到 Azure AD,因此如果解决方案需要它,我们可以根据它进行身份验证。我正在寻找我需要做什么来设置我的 MVC 应用程序以允许这种身份验证。
如果您能为此提供任何帮助,我们将不胜感激。
如https://github.com/AzureADSamples/WebApp-OpenIDConnect-DotNet and by ensuring that they all skip the home realm discovery and go straight to your domain, as shown in http://www.cloudidentity.com/blog/2014/11/17/skipping-the-home-realm-discovery-page-in-azure-ad/
所示,您描述的场景应该通过让所有应用程序使用 Azure AD 来实现
我已经阅读了大量来自 MS 的关于通过 Azure AD 进行身份验证的文章。选项太多,但我读过的内容似乎都无法解决我的问题。
情况如下: 我有 3 个不同的 Web 应用程序(都是 ASP.NET MVC 5)。它们都在我们的网络内部托管在同一个 server/IIS 上,并使用 windows 针对我们内部 AD 的集成身份验证。
我们将这些应用程序称为 App_A、App_B 和 App_C。
- App_A 位于我们的 DNS 中的 appA.mydomain.com
- App_B 位于我们的 DNS 中的 appB.mydomain.com
- App_C 位于我们的 DNS 中的 appC.mydomain.com
用例是这样的:
- 用户导航到 App_A 做了一些工作,最终被重定向到 App_B
- 用户在 App_B 中做了一些工作,最终被重定向到 App_C
- 用户在 App_C 中做了一些工作
当用户使用加入域的 PC 时,系统永远不会提示他们登录。Windows 通过集成身份验证为他们处理。
现在,当用户想要在非域设备(例如 iPad)上执行相同的工作时会发生这种情况,无论是在 VPN 上还是连接到内部 WiFi:
- 当用户加载 App_A 时,系统会提示他们登录并使用他们的 windows 凭据
- 当他们到达 App_B 时,系统会再次提示他们(不同的子域)
- 当他们到达 App_C 时,系统会再次提示他们(不同的子域)
必须使用相同的 Windows 凭据多次登录不是我们希望移动用户获得的体验。
我们希望发生的事情是让移动用户在点击 App_A 时登录一次,而在点击 App_B 或 App_C 时不必再次登录.同样,我们仍然希望加入域的 PC 上的用户根本不需要登录,因为他们已经在他们的机器上进行了身份验证。 仅供参考,我们还将我们的 AD 同步到 Azure AD,因此如果解决方案需要它,我们可以根据它进行身份验证。我正在寻找我需要做什么来设置我的 MVC 应用程序以允许这种身份验证。
如果您能为此提供任何帮助,我们将不胜感激。
如https://github.com/AzureADSamples/WebApp-OpenIDConnect-DotNet and by ensuring that they all skip the home realm discovery and go straight to your domain, as shown in http://www.cloudidentity.com/blog/2014/11/17/skipping-the-home-realm-discovery-page-in-azure-ad/
所示,您描述的场景应该通过让所有应用程序使用 Azure AD 来实现