我正在从Windows服务调用WCF服务,我想通过运行该服务的Windows用户对客户端进行身份验证。
由于各种原因(主要是流/ SSL),我必须对传输凭据使用匿名身份验证。有没有办法通过邮件发送我的WindowsIdentity,就像你通常发送ClientCredentials.Username.Username或ClientCredentials.Username.Password一样?
BasicHttpBinding binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.TransportWithMessageCredential;
binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;
binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None;
ServerContractClient serverConnection = new ServerContractClient(binding, new EndpointAddress(url));
string username = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
serverConnection.ClientCredentials = ???