我有一个与 WCF Web 服务对话的 WPF 应用程序。
我的一个客户遇到的问题是,如果我将端点地址设置为 ip 地址,一切正常,但如果我使用完全限定域名 (FQDN),则会引发安全异常。
他们有一个非常复杂的网络,客户端通过 3G,通过网络代理和检查点防火墙与网络服务器进行通信。
他们聘请了一位顾问,他发现 LDAP 查询正在端口 389 上进行。此端口已关闭,但通过 ip 的请求忽略了失败并继续,而通过域名的请求引发异常。
ip请求和域名请求有什么区别?为什么一个工作,另一个失败?
抛出的安全异常是:
HTTP 请求未经客户端身份验证方案“协商”的授权。从服务器收到的身份验证标头是“协商,NTLM”。
这是我的客户端配置设置:
<binding
name="Windows_Binding"
closeTimeout="00:01:00"
openTimeout="00:01:00"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
allowCookies="false"
bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"
messageEncoding="Text"
textEncoding="utf-8"
transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas
maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647"/>
<security
mode="Transport">
<transport
clientCredentialType="Windows"
proxyCredentialType="None"
realm=""/>
<message
clientCredentialType="UserName"
algorithmSuite="Default"/>
</security>
</binding>