3 Stimmen

WCF Ausnahme: ...dieser Dienst erfordert die Authentifizierung von 'Anonym' (Anonymous), die jedoch nicht für die IIS-Anwendung aktiviert ist, die diesen Dienst hostet.

Ich habe das hier und überall schon oft gefragt gesehen, aber ich kann einfach nicht dahintersteigen.

Hier ist, was ich tun möchte. Ich muss einen WCF-Dienst in IIS 6 hosten. Ich möchte Benutzername/Passwort-Sicherheit und ich möchte nicht, dass diese unverschlüsselt übertragen werden, daher verwende ich HTTPS. Lokal auf meinem IIS funktioniert das alles, aber wenn es darum geht, es bereitzustellen, erhalte ich den Fehler "Anonymer Zugriff nicht aktiviert". Auf meinem lokalen IIS ist anonymer Zugriff aktiviert, auf dem bereitgestellten Server jedoch nicht, und wir möchten ihn nicht aktivieren. Problem verstanden. Lösung ist für mich nicht offensichtlich....

Wenn ich die Seite in IE öffne oder einen Dienstverweis von Visual Studio hinzufüge, erhalte ich diesen Fehler nach Eingabe meines Benutzernamens/Passworts. Das zeigt, dass mein Zertifikat und HTTPS korrekt funktionieren und Benutzername und Passwort korrekt sind. Hier sind die relevanten Einstellungen aus der web.config:

Ich verwende wsHttpBinding, weil es basicHttpBinding nicht mochte, wenn clientCredentialType auf Windows gesetzt war. Trotzdem würde ich lieber basicHttp verwenden, aber es möchte UserName als clientCredentialType, und ich bin mir nicht sicher, was der Unterschied zwischen UserName und Windows Security ist.

Viele Grüße

Ray

1voto

Lex Li Punkte 56075

Die Ausnahme, die Sie erhalten, ist normal, wenn Sie die Transportsicherheit nicht mit Windows-Authentifizierung konfigurieren, http://msdn.microsoft.com/en-us/library/ms733089.aspx

Das -Tag wird in diesem Fall benötigt, obwohl Sie bereits das -Tag definiert haben.

0 Stimmen

Hallo - Ich habe dies hinzugefügt und erhalte immer noch denselben Fehler - Ich habe jetzt dies:

0 Stimmen

Falls später jemand darauf stößt, ist der einfachste Weg, den ich gefunden habe, um es zu tun.

1voto

Im IIS-Manager klicken Sie auf Ihre Website. Sie müssen im "Feature-View" (statt im "Content-View") sein

Im IIS-Abschnitt des "Feature-Views" wählen Sie das sogenannte Feature "Authentifizierung" und klicken doppelt darauf. Hier können Sie die Windows-Authentifizierung aktivieren. Dies ist auch möglich (ich denke, in einem der Vorschläge im Thread) durch eine Einstellung in der web.config (...)

Vielleicht haben Sie jedoch eine web.config, mit der Sie nicht allzu viel herumspielen möchten. Dann wäre dieser Thread nicht allzu hilfreich, weshalb ich diese Antwort hinzufügte

0voto

Atte Punkte 31

Die anonyme Authentifizierung kann für den Dienst aktiviert werden und in einigen Fällen muss sie aktiviert sein, jedoch nicht für die Website.

Überprüfen Sie also, dass die "Root"-Authentifizierung Ihrer Website nur die Windows-Authentifizierung aktiviert hat. Erweitern Sie dann Ihre Website, wählen Sie den Ordner 'Service' aus und stellen Sie sicher, dass Ihr Dienst sowohl die Windows- als auch die anonyme Authentifizierung aktiviert hat.

Zumindest hatte ich dieselbe Fehlermeldung mit der grundlegenden MSSQL Master Data Services-Website und dem Dienst, und das war die Lösung. Ich habe den Fehler erhalten, als nur der Dienst ausgeführt wurde, aber die Website hat fast normal funktioniert. Der MDS Explorer hat nicht funktioniert, weil die Authentifizierungseinstellungen des Dienstes zuerst falsch waren. Die Ursache für diese fehlerhafte Konfiguration könnte ein Fehler im MDS-Konfigurations-Manager sein, wenn eine neue MDS-Site erstellt wird?

In meinem Fall konnte das Problem nicht behoben werden, indem spezielle Bearbeitungen an den web.config- oder ApplicationHost.config-Dateien vorgenommen wurden, sondern einfach durch Auswahl der richtigen Authentifizierungseinstellungen für die Website und ihren Dienst im IIS-Manager. Ich bin mir nicht sicher, ob das hier der Fall ist, aber es könnte einen Versuch wert sein?

0voto

Mike Gledhill Punkte 25646

In einem besonders dummen Moment bekam ich auch diesen Fehler:

WCF-Ausnahme: ...dieser Dienst erfordert eine 'Anonymous' Authentifizierung, die jedoch nicht für die IIS-Anwendung aktiviert ist, die diesen Dienst hostet

Ich habe schließlich festgestellt, dass meine web.config überhaupt kein "authentication"-Tag im "system.web" hatte. Kein Wunder, dass der IIS über Authentifizierungsprobleme geklagt hat!

Das Problem zu lösen war so einfach wie das Hinzufügen von:

Dumm, ich weiß... aber ich hoffe, das hilft!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X