在IIS中托管了一个WCF服务,该服务通过HTTPS进行Windows身份验证,而WPF应用程序(而不是通过IE)尝试使用它。当客户端应用程序提供用户名和密码时,它可以很好地工作,但是我想知道是否有任何方法可以通过当前Windows用户帐户通过Windows身份验证,但不提供用户密码。我在客户端WPF应用程序中尝试了此代码,但失败了。
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
client.ChannelFactory.Credentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
错误消息是
从另一方收到不安全或不正确安全的错误。有关错误代码和详细信息,请参见内部FaultException。
邮件中至少有一个安全令牌无法验证。
我的web.config
看起来像
<basicHttpBinding>
<binding name="secure_basicHttpBinding">
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Windows" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
谢谢。