WCF客户端和Windows集成身份验证

WCF客户端和Windows集成身份验证,wcf,Wcf,从IIS 7(windows 2008)中托管的ASP.Net MVC项目访问Web服务时发现问题,我们使用的是bindings.config <basicHttpBinding> <binding name="BasicServiceHttpBinding"> <security mode="TransportCredentialOnly"> <transport clientCredenti

从IIS 7(windows 2008)中托管的ASP.Net MVC项目访问Web服务时发现问题,我们使用的是bindings.config

<basicHttpBinding>
        <binding name="BasicServiceHttpBinding">
          <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Windows"/>
          </security>
        </binding>
</basicHttpBinding>

虽然我们从VS2008测试整个应用程序,但一切正常,但是当我们使用安装程序安装整个项目并将其托管在IIS下时,我们的项目无法访问web服务

我想不同的是谁拥有进程,在VS2008下运行应用程序时,ower是当前登录用户(域帐户),但在IIS下托管应用程序时,用户不同(可能是./Administrator或IIS_用户,而不是我的域帐户)

我们以前在将一个控制台应用程序作为服务运行时遇到过类似的问题,我们通过简单地将服务所有者更改为域帐户而不是本地系统帐户来修复它

我想知道我们是否可以在IIS中执行类似的项目?我的意思是改变流程所有者


在这种情况下,访问服务器API的最佳方式是什么?

是的,这很可能是帐户权限的问题。如果在一台服务器上安装ASP.NET应用程序,在另一台服务器上安装Web服务,并且不更改ASP.NET应用程序的默认AppPool标识,则通常会发生这种情况

如果您需要更改用于运行ASP.NET MVC应用程序的帐户,则必须打开IIS管理控制台并查找哪个应用程序池正在运行您的应用程序。然后您可以更改该应用程序池的帐户。请注意,更多的应用程序可以共享单个应用程序池,因此您可以在更改帐户时影响它们的行为。如果发生这种情况,您可以创建新的应用程序池并将其分配给您的应用程序

致以最良好的祝愿, 拉迪斯拉夫