2013-11-24 58 views
16

Die Authentifizierungsschemas, die auf dem Host ('Anonymous') konfiguriert sind, erlauben nicht diejenigen, die für die Bindung 'BasicHttpBinding' ('Negotiate') konfiguriert sind. Stellen Sie sicher, dass der SecurityMode auf Transport oder TransportCredentialOnly festgelegt ist. Dies kann auch durch Ändern der Authentifizierungsschemas für diese Anwendung über das IIS-Verwaltungstool, durch die ServiceHost.Authentication.AuthenticationSchemes-Eigenschaft, in der Anwendungskonfigurationsdatei des Elements, durch Aktualisieren der ClientCredentialType-Eigenschaft für die Bindung oder durch Anpassen geändert werden die AuthenticationScheme-Eigenschaft für das HttpTransportBindingElement.Die Authentifizierungsschemas, die auf dem Host konfiguriert sind ('Anonymous'), erlauben nicht die für die Bindung konfigurierten 'BasicHttpBinding' ('Negotiate').

Antwort

27

Dieser Fehler wird möglicherweise angezeigt, wenn auf dem lokalen IIS-Webserver keine Authentifizierungsmodi installiert sind. Gehen Sie zu Systemsteuerung -> Programme -> Windows-Funktionen ein- oder ausschalten

Überprüfen Sie Internet-Informationsdienste -> Wold Wide Web Services -> Sicherheit -> und aktivieren Sie Basic, Windows, Digest-Authentifizierungsmodi. Öffnen Sie IIS, navigieren Sie zu Ihrer Anwendung und gehen Sie zum Abschnitt Authentifizierung und Aktivieren Sie die erforderlichen Authentifizierungsmodi. Für mich wurden die Authentifizierungsmodi nicht sofort nach der Installation oder nach dem Neustart des Webservers angezeigt. Durch einen Neustart der Maschine wurden sie in der Webapplikation angezeigt.

1

Als mir das passierte, stellte ich fest, dass Visual Studio die 'Standardwebsite' als Host für meinen Dienst verwendete, wenn ich die Dienstreferenz über die Schaltfläche 'Suchen' hinzufügte. Um dies zu beheben, musste ich die Authentifizierung aktivieren, die mein Dienst auf der Standardwebsite in IIS verwendete. Da ich die Windows-Authentifizierung verwendet habe, habe ich sie für die Standardwebsite in IIS aktiviert, und dies scheint mein Problem behoben zu haben. Wenn Ihr Dienst einen anderen Auth-Typ verwendet, müssen Sie natürlich die korrekte Authentifizierung aktivieren.

Um die Authentifizierung zu konfigurieren, öffnen Sie IIS. Wählen Sie unter "Sites" die Option "Standardwebsite" und dann "Authentifizierung" aus.

2

Wenn Sie beim Debuggen in Visual Studio auf dieses Problem stoßen, wählen Sie Ihr Projekt aus und ändern Sie die Authentifizierung in den Eigenschaften.

VS win auth

8

Bei Bedarf - installieren Funktionen wie described above, öffnen Sie den IIS-Manager, öffnen Sie die Server-Funktionen:

enter image description here

öffnen Sie die Funktion "Authentifizierung":

enter image description here

Aktivieren/Deaktivieren der benötigten:

enter image description here