gpt4 book ai didi

asp.net - 如何将用户身份从一个 IIS 中托管的 Web 应用程序传递到另一个 IIS 中托管的 Web 服务?

转载 作者:行者123 更新时间:2023-12-04 18:10:31 25 4
gpt4 key购买 nike

我有一个 Web 应用程序(在 ASP.net 4.0 中开发)托管在 Windows Server 2003 R2 机器上的 IIS 6.0 中。 Integrated Windows Authentication 已为此 Web 应用程序打开。

我在 Windows Server 2008 R2 机器上的 IIS 7.5 中托管了一个 Web 服务(使用 WCF 开发)。 'Windows 身份验证 也为此 Web 应用程序启用。

  • 我使用我的 Windows 域帐户登录到我的本地计算机。当我浏览 Web 应用程序时,它会询问我的域用户名和密码。在网络应用程序中,我正确地获得了我的身份。
  • 在我的机器上(使用其他一些 Winform 应用程序),如果我调用同一个 Web 应用程序(Web 服务的),服务代码将在我的 Windows 身份下执行。

因此 Integrated Windows Authentication 对于在不同计算机上的单独 IIS 中托管的两个 Web 应用程序独立运行良好。

当从我的本地计算机浏览 Web 应用程序并且网页在内部调用该服务时,就会出现问题。在这种情况下,“服务不在我的 Windows 身份下运行”如预期的那样。它要么在 asp.net web 应用程序或 web 服务的 web 应用程序的应用程序池的标识下运行。

我不希望我的网络服务负责对用户进行身份验证。它将使用简单的 basicHttpBinding。它只会使用 CurrentPrincipalHttpContext 等读取用户的名称。验证用户的身份只能由 IIS 完成。

有人可以帮助我将我的 Windows 身份从一个 IIS 传递到另一个吗?

最佳答案

您需要设置 kerberos 委托(delegate),因为默认情况下不会将身份传递给另一台机器。

https://web.archive.org/web/20190419225807/https://blogs.technet.microsoft.com/askds/2008/11/25/fun-with-the-kerberos-delegation-web-site/

关于asp.net - 如何将用户身份从一个 IIS 中托管的 Web 应用程序传递到另一个 IIS 中托管的 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14496677/

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