이 시도
감사 :
var credentialCache = new CredentialCache();
var credentials = new NetworkCredential("username", "password", "domain");
credentialCache.Add(new Uri(client.Url), "NTLM", credentials);
client.Credentials = credentialCache;
client.addConsumer("whatever", "", "", "");
업데이트 : 클라이언트 프록시를 생성하는 wsdl.exe
를 사용하여 줄 알았는데 내 첫 번째 게시물에
죄송합니다. 은 WCF 클라이언트의 끝점을 구성해야합니다
var basicHttpBinding = new BasicHttpBinding();
basicHttpBinding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly;
basicHttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
var endpoint = new EndpointAddress("http://example.com/myWindowsAuthN");
var client = new MyBeanClient(basicHttpBinding, endpoint);
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
client.ChannelFactory.Credentials.Windows.ClientCredential.Domain = "domain";
client.ChannelFactory.Credentials.Windows.ClientCredential.UserName = "username";
client.ChannelFactory.Credentials.Windows.ClientCredential.Password = "password";
UPDATE2 : 나는 NTLM 인증으로 보호 된 웹 서비스를 호출하기 위해 다음과 같은 구성을 사용했습니다
.
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="NtlmBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint
address="http://example.com/SomeWindowsAuthenticatedService"
binding="basicHttpBinding"
bindingConfiguration="NtlmBinding"
contract="IOperationContractOfTheService"
name="WSTestSoap" />
</client>
</system.serviceModel>
를 다음 메소드를 호출하기 전에 해당 자격 증명을 설정할 수 있습니다 :
는
using (var client = new MyBeanClient())
{
client.ChannelFactory.Credentials.Windows.ClientCredential =
new NetworkCredential("username", "password", "DOMAIN");
client.addConsumer("whatever", "", "", "");
}
불행하게도 클라이언트에는 자격 증명 필드가없는 클라이언트의 app.config에서 다음과 같은 넣습니다. ClientCredentials 속성 만 있지만 읽기 전용입니다./또한 클라이언트에는 URL 속성이 없습니다./ – arek
여전히 동일한 문제가 있습니다./SecurityMessageException :/ – arek
안녕하세요, 답변 해 주셔서 감사합니다. "DOMAIN"으로 무엇을 써야할까요? – arek