У меня есть службы WCF, не используя аутентификацию BasicHttpBinding и окна (не анонимной),Потреблять WCF с BasicHttpBinding и Аутентификация Windows
служба WCF размещается на сервере домена мне нужно потреблять услугу с сервера который находится вне домена, этот сервер не присоединяется к домену, то есть к рабочей группе. Это возможно? пожалуйста, помогите в фрагменте кода.
Конфигурация, как показано ниже
<bindings>
<basicHttpBinding>
<binding name="defaultBinding" receiveTimeout="01:00:00" sendTimeout="01:00:00" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="defaultServiceBehavior">
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="defaultServiceBehavior" name="namespace.MyService">
<endpoint binding="basicHttpBinding" bindingConfiguration="defaultBinding" contract="namespace.IMyService">
<identity>
<dns value="abc.xyz.com"/>
</identity>
</endpoint>
</service>
</services>
Отредактировано: вот мой код клиента
_securityServiceClient = new SecurityServiceClient();
_securityServiceClient.ClientCredentials.UserName.UserName = "lto3";
_securityServiceClient.ClientCredentials.UserName.Password = "[email protected]";
Я получил эту ошибку
Исключение типа «System.ServiceModel.Security. MessageSecurityException "произошел в mscorlib.dll, но не был обработан в коде пользователя
Дополнительная информация: HTTP-запрос неавторизован с клиентом Схема аутентификации «Базовый». Заголовок аутентификации, полученный от , был «Negotiate, NTLM».
Это один из самых основных сценариев, описанных во всех учебниках WCF. Что вы пробовали и в чем проблема? Где код клиента? –
привет, спасибо за ваш взгляд, я получил это сообщение {«HTTP-запрос несанкционирован с помощью схемы аутентификации клиента« Basic ». Заголовок проверки, полученный с сервера, был« Negotiate, NTLM ».»} И вот мой код клиента _securityServiceClient = new SecurityServiceClient(); _securityServiceClient.ClientCredentials.UserName.UserName = "domain \\ account"; _securityServiceClient.ClientCredentials.UserName.Password = "password"; – khoailang
привет, пожалуйста, сообщите – khoailang