没有用户密码的WCF Windows身份验证

时间:2018-09-03 04:05:05

标签: wpf wcf https windows-authentication

在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>

谢谢。

0 个答案:

没有答案