集成Windows身份验证WCF多主机头IIS 6不工作
我有一个asp.NET2.0网站,里面有WCF服务,运行在.NET3.5框架上。该网站仅使用集成Windows身份验证进行设置。web服务器是IIS 6,在Windows 2003 Sp2服务器上具有负载平衡。我无法使用完整url访问WCF服务.svchttp://myqa2.abcdefg.com/trxn/WCFTrxnService.svc. 还要注意,服务器配置了多个主机头。本网站受siteminder保护。起初我犯了一个错误 此集合已包含具有方案http的地址。此集合中每个方案最多只能有一个地址。参数名称:item 因此添加了以下配置条目集成Windows身份验证WCF多主机头IIS 6不工作,wcf,internet-explorer,authentication,iis-6,Wcf,Internet Explorer,Authentication,Iis 6,我有一个asp.NET2.0网站,里面有WCF服务,运行在.NET3.5框架上。该网站仅使用集成Windows身份验证进行设置。web服务器是IIS 6,在Windows 2003 Sp2服务器上具有负载平衡。我无法使用完整url访问WCF服务.svchttp://myqa2.abcdefg.com/trxn/WCFTrxnService.svc. 还要注意,服务器配置了多个主机头。本网站受siteminder保护。起初我犯了一个错误 此集合已包含具有方案http的地址。此集合中每个方案最多只能
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<clear/>
<add prefix="http://myqa2.abcdefg.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
那个错误消失了,但现在浏览器提示我登录。对于同一个网站,我可以访问.aspx页面。登录提示仅针对.svc文件显示
下面是我正在使用的配置文件中的绑定/端点
<system.serviceModel>
<serviceHostingEnvironment>
<baseAddressPrefixFilters>
<clear/>
<add prefix="http://myqa2.abcdefg.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<bindings>
<basicHttpBinding>
<binding name="IISIntegratedAuthBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="TestWCFFromSL.Web.WCFTrxnServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://myqa2.abcdefg.com/fmc/WCFNotesService.svc"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="TestWCFFromSL.Web.WCFTrxnService" behaviorConfiguration="TestWCFFromSL.Web.WCFTrxnServiceBehavior">
<endpoint
address="http://myqa2.abcdefg.com/trxn/WCFTrxnService.svc"
binding="basicHttpBinding"
bindingConfiguration="IISIntegratedAuthBinding"
contract="TestWCFFromSL.Web.IWCFTrxnService" />
</service>
</services>
<!--<serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>-->
如果网站受到SiteMinder的保护,WCF/SOAP调用将无法工作。但这个问题的另一种解决方案正在发挥作用 URL myqa2.abcdefg.com/trxn/WCFTrxnService.svc受SiteMinder保护,但 myqa2/trxn/WCFTrxnService.svc不受siteminder保护,看起来siteminder只保护FQDN完全限定的域名。因此,我将应用程序配置为使用短url而不是FQDN调用WCF服务。我还必须使用crossdomainpolicy,因为应用程序将myqa2.abcdefg.com和myqa2视为两个独立的域