c #: HTTP-запрос не авторизован с помощью схемы аутентификации клиента 'Ntlm'. Заголовок аутентификации, полученный от сервера, был 'NTLM - PullRequest
0 голосов
/ 06 сентября 2018

Я пытался создать службу адаптера (веб-API, вызывающий службу WCF). Я прошел через тонну вопросов с похожими названиями и не могу решить проблему. Может кто-нибудь, пожалуйста, помогите.

Есть что-то, чего мне не хватает, кроме настройки web.config.

Я добавил ссылку на сервис и обновил web.config, как показано ниже

<system.serviceModel>
   <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpEndpoint">
          <security mode="Transport" >
            <transport clientCredentialType="Ntlm" proxyCredentialType="None" realm=""/>
            <message clientCredentialType="UserName" algorithmSuite="Default" />
           </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="https://service.com/service-Hosted-somewhere-else.svc"
        binding="basicHttpBinding" bindingConfiguration="BasicHttpEndpoint"
        contract="Service" name="BasicHttpEndpoint">
      </endpoint>    
    </client>
  </system.serviceModel>

трассировка стека, как показано ниже

System.ServiceModel.Security.MessageSecurityException: HTTP-запрос не авторизован с помощью схемы аутентификации клиента 'Ntlm'. Заголовок проверки подлинности, полученные от сервера был «NTLM TlRMTVNTUAACAAAAEAAQADgAAAAFgpmiGd2ol9pcGzEAAAAAAAAAAN4A3gBIAAAABgGxHQAAAA9JAE4AVABFAFIATgBBAEwAAgAQAEkATgBUAEUAUgBOAEEATAABAB4AUgBTAEsAUAAtAE0ARQBMAC0ATwBQAFQAOABFAFYABAAqAGkAbgB0AGUAcgBuAGEAbAAuAHMAdQBuAGcAYQByAGQALgBjAG8AcgBwAAMASgBSAFMASwBQAC0ATQBFAEwALQBPAFAAVAA4AEUAVgAuAGkAbgB0AGUAcgBuAGEAbAAuAHMAdQBuAGcAYQByAGQALgBjAG8AcgBwAAUAGABzAHUAbgBnAGEAcgBkAC4AYwBvAHIAcAAHAAgAcg4PLuVF1AEAAAAA». ---> System.Net.WebException: удаленный сервер возвратил ошибку: (401) не авторизован. ---> System.ComponentModel.Win32Exception: нет учетных данных, доступных в пакете безопасности \ r \ n в System.Net.NTAuthentication.GetOutgoingBlob (Byte [] входящийBlob, логический throwOnError, SecurityStatus & statusCode) \ r \ n в System.Net .NTAuthentication.GetOutgoingBlob (StringcomingBlob) \ r \ n в System.Net.NtlmClient.DoAuthenticate (вызов String, веб-запрос WebRequest, учетные данные ICredentials, предварительный логический запрос PreAuthenticate) \ r \ n в вызове System.Net.NtlmCliateAutting. webRequest, учетные данные ICredentials) \ r \ n в System.Net.AuthenticationManagerDefault.Authenticate (вызов строки, запрос веб-запроса, учетные данные ICredentials) \ r \ n в System.Net.AuthenticationState.AttemptAuthenticate (запрос HttpWebRequest httpWebRequest http: nReRetials, в System.Net.HttpWebRequest.CheckResubmitForAuth () \ r \ n в System.Net.HttpWebRequest.CheckResubmit (Exception & e, Boolean & disableUpload) \ r \ n --- Конец трассировки стека внутренних исключений --- \ r \ n в System.Net.Htt pWebRequest

...