我有一个带有服务参考的 Windows Phone 8 项目(在 C# 中)。是否可以将 http 客户端凭据类型设置为 NTLM?我需要提供域名、用户名和密码。
我正在使用带有 TransportCredentialOnly 选项的 BasicHttpBinding。这是在 *.ClientConfig 文件中完成的:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="WSSoap" maxBufferSize="XXX" maxReceivedMessageSize="XXX">
<security mode="TransportCredentialOnly" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://<address>" binding="basicHttpBinding"
bindingConfiguration="WSSoap" contract="WorkListService.WSSoap"
name="WSSoap" />
</client>
</system.serviceModel>
</configuration>
但我还需要将 ClientCredentialType 设置为 NTLM 并提供 ServiceCredentials:域、用户名和密码。
这可以通过实现生成的服务类的部分 ConfigureEndpoint 方法在 Windows 应用商店应用程序中轻松完成。但我不知道如何在 Windows Phone 8 中做到这一点。
我注意到只有用户名和密码可用(基本身份验证):
*.ClientCredentials.UserName.UserName
*.ClientCredentials.UserName.Password