WCF应用程序不再尝试使用Windows身份验证 - 仅接收HTTP 401.2

时间:2013-02-08 12:26:44

标签: wcf iis-7.5 kerberos ntlm

我们有一个ClickOnce WPF应用程序,它通过WCF与服务进行通信。

去年某个时候,客户端在最初未经授权的尝试后正确使用身份验证与服务进行通信:

2012-09-20 18:19:08 {ip address} POST /MyService/MyService.svc - 80 - {other ip address} - 401 2 5 0
2012-09-20 18:19:10 {ip address} POST /MyService/MyService.svc - 80 DOMAIN\USERNAME {other ip address} - 200 0 0 2279

然而,最近它不再试图验证自己:

2013-02-08 11:27:09 {ip address} POST /MyService/MyService.svc - 80 - {other ip address} - 401 2 5 1
2013-02-08 11:27:09 {ip address} POST /MyService/MyService.svc - 80 - {other ip address} - 401 1 2148074254 202 

据我所知,配置在此期间没有改变。

WPF客户端应用程序的配置设置为:

<basicHttpBinding>
    <binding name="BasicHttpBinding_IShipRecService" closeTimeout="00:01:00"
        openTimeout="00:01:00" receiveTimeout="01:00:00" sendTimeout="00:00:15"
        allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
        maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
        messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
        useDefaultWebProxy="true">
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
        <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Windows" proxyCredentialType="None"
                realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
        </security>
    </binding>
</basicHttpBinding>

和服务器:

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

所以这里有一些奇怪的事情:

  • 这些配置上的安全模式不匹配。但是,它们应该:客户端/ Web应用程序的实时实例 使用此设置。此外,调整web.config以匹配不能解决此问题。

  • 我们还有一个Web应用程序,其配置与WPF客户端应用程序相同。这可以与服务进行通信。我在这里看到的唯一区别是它们在同一个盒子里。

在IIS 7.5中,对服务禁用了匿名身份验证,并启用了Windows身份验证。

有什么想法阻止客户端应用程序尝试Windows身份验证?或者我如何进一步调查它?

0 个答案:

没有答案