WCF(.NET 4.0)和#x2B;IIS 7和x2B;Windows身份验证错误-“;服务需要Windows身份验证,但未为IIS应用程序启用该服务;
我们有一个简单的WCF(在.NET 4.0上)服务,它使用WCF(.NET 4.0)和#x2B;IIS 7和x2B;Windows身份验证错误-“;服务需要Windows身份验证,但未为IIS应用程序启用该服务;,wcf,iis,iis-7,iis-6,Wcf,Iis,Iis 7,Iis 6,我们有一个简单的WCF(在.NET 4.0上)服务,它使用Windows身份验证,并且在IIS 7身份验证功能上启用了相同的功能。这在两台服务器上使用相同的设置和相同的配置,但在其中一台服务器上返回错误此服务的安全设置需要Windows身份验证,但没有为承载此服务的IIS应用程序启用它。我在web上检查了所有可能的设置,并尝试了所有选项,如禁用其他身份验证机制等。似乎没有任何效果。有人能指出问题所在吗。 同样,两台服务器上相同的设置在第三台服务器上工作得很好,因为它有问题 <?xml ve
Windows
身份验证,并且在IIS 7身份验证功能上启用了相同的功能。这在两台服务器上使用相同的设置和相同的配置,但在其中一台服务器上返回错误此服务的安全设置需要Windows身份验证,但没有为承载此服务的IIS应用程序启用它。
我在web上检查了所有可能的设置,并尝试了所有选项,如禁用其他身份验证机制等。似乎没有任何效果。有人能指出问题所在吗。
同样,两台服务器上相同的设置在第三台服务器上工作得很好,因为它有问题
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="ABCDbConnection" value="Data Source=xxx; Initial Catalog=sss;Integrated Security=True"/>
<add key="MetadataDbConnection" value="Data Source=xxx; Initial Catalog=sss;Integrated Security=True"/>
<add key="UsageEnabled" value="True"/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<protocolMapping>
<add scheme="http" binding="basicHttpBinding" bindingConfiguration="WindowsBasicHttpBinding"/>
</protocolMapping>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<dataContractSerializer maxItemsInObjectGraph="6553600"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<basicHttpBinding>
<binding name="WindowsBasicHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
此线程中的任何解决方案都有效吗 从这个,它提到这个 如果返回此错误,请单击Windows 已在中启用身份验证 IIS,这意味着存在问题 支持的网络身份验证 为网站提供的方案 服务安装在下。最 可能的原因是它已配置 仅适用于NTLM。我们要指定NTLM 谈判
您是否尝试过使用web.config启用Windows身份验证
<system.web>
....
<authentication mode="Windows" />
.....
</system.web>
....
.....
可能有一台计算机从父配置文件继承了此设置,但没有在引发错误的计算机上继承
您还可以验证是否禁用了匿名身份验证,如下图所示
您的回答中提供的感谢解决了问题。尽管KB用于IIS 6,但它也解决了IIS 7上的此问题:D