Die HTTP-Anfrage ist nicht autorisiert mit dem Client-Authentifizierungsschema 'Verhandeln'. Der vom Server empfangene Authentifizierungs-Header war 'NTLM'
Paar Tagen hatte ich ziemlich Kopfschmerzen mit Authentifizierung Probleme bei der Verwendung von Windows-Authentifizierung zwischen client und wcf-web service. Die Fehler, die ich bekam war "Der HTTP-Anforderung ist nicht autorisierte mit client-Authentifizierungsschema "Negotiate". Der authentication header vom server empfangen wurde "NTLM". Keine der Lösungen auf Stapel gearbeitet, weil die meisten von Ihnen waren alte Methoden.
InformationsquelleAutor der Frage Vidas Vasiliauskas | 2013-03-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
DIE ANTWORT: Das problem war, all die Beiträge zu solch einem Thema wurden im Zusammenhang mit älteren kerberos und IIS-Probleme, wo die proxy-Anmeldeinformationen oder AllowNTLM Eigenschaften halfen. Mein Fall war anders. Was ich entdeckt habe, nach Stunden der Kommissionierung Würmer aus dem Boden war, etwas IIS-installation nicht enthalten, Verhandeln Anbieter unter IIS die Windows-Authentifizierung Anbieter Liste. So hatte ich es hinzufügen und nach oben verschieben. Mein WCF-Dienst gestartet wird, zu authentifizieren, wie erwartet. Hier ist der screenshot wie es Aussehen sollte, wenn Sie mithilfe der Windows-Authentifizierung für Anonyme auth AUS.
Müssen Sie mit der rechten Maustaste auf Windows-Authentifizierung, und wählen Sie Anbieter Menüpunkt.
Hoffe, das hilft Zeit zu sparen.
InformationsquelleAutor der Antwort Vidas Vasiliauskas
Ich habe ein Upgrade meiner älteren version von WCF WCF 4 mit unten ändert, hoffe, Sie können auch die ähnliche Veränderungen.
1. Web.config:
2. App.config:
InformationsquelleAutor der Antwort Ajay Shankar
Für mich die Lösung war, neben der Verwendung von "Ntlm" als credential-Typ:
InformationsquelleAutor der Antwort Sander Postma
Nicht genau dieses problem, aber dies ist das top-Ergebnis beim googlen für fast der exakt gleiche Fehler:
Wenn Sie sehen, dass dieses problem beim Aufruf einer WCF-Dienst gehostet wird, die auf der gleichen Maschine befinden, müssen Sie möglicherweise füllen Sie die
BackConnectionHostNames
RegistrierungsschlüsselHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
MSV1_0
zeigen Sie auf Neu, und klicken Sie dann aufMulti-String Value
.BackConnectionHostNames
und drücken Sie dann die EINGABETASTE.BackConnectionHostNames
und klicken Sie dann auf Ändern.In der Wert Daten im Feld, geben Sie den CNAME-oder den DNS-alias, der für die lokalen Freigaben auf dem computer, und klicken Sie dann auf OK.
Sehen Aufruf von WCF-Dienst in IIS gehostet auf dem selben Rechner wie der client-Authentifizierung ein Fehler wirft für details.
InformationsquelleAutor der Antwort fiat
Die Lösung für mich war, war der "AppPool" - von der Nutzung der AppPoolIdentity dem NetworkService-Identität.
InformationsquelleAutor der Antwort Tom