WCF Die Aushandlung des SSPI (Security Support Provider Interface) ist fehlgeschlagen

8

Ich verwende einen von mir erstellten Dienst, wenn sowohl der Host-Computer als auch der Client-Computer sich auf derselben Domäne befinden. Alles funktioniert einwandfrei. Wenn ich die Client-App auf dem Webserver in der DMZ veröffentliche, erhalte ich den folgenden Fehler:

%Vor%

Hier ist mein Service, wo ich den Service eingerichtet habe

%Vor%

und hier ist der Konfigurationsabschnitt auf meinem Client

%Vor%

Ich bin mir sicher, dass das Problem darin besteht, dass Windows-Authentifizierung verwendet wird. Irgendwelche Ideen? Danke!

    
twal 19.08.2010, 17:16
quelle

2 Antworten

7

Ich glaube nicht, dass das funktioniert und ich habe keine Umgebung, um es schnell zu testen. SSPI verwendet NTLM oder Kerberos (obligatorisch, wenn die Aushandlung der Dienstanmeldeinformationen nicht verwendet wird), um den Dienst auf dem Client und dem Client auf dem Dienst zu authentifizieren. Sowohl NTLM als auch Kerberos erwarten dieselbe Domäne oder vertrauenswürdige Domänen.

Wenn Sie die Nachrichtensicherheit verwenden möchten, können Sie Ihre Konfiguration ändern, um Zertifikate oder Benutzernamen + Passwort zu verwenden (der Dienst benötigt weiterhin ein Zertifikat). Sie können den Benutzernamen und das Kennwort im aktiven Verzeichnis oder in einem anderen Anmeldedatenspeicher überprüfen.

Denken Sie daran, dass die Nachrichtensicherheit die langsamste ist. Bessere Leistung kann mit Transportsicherheit (HTTPS) erreicht werden - es kann durch Netzwerkgeräte beschleunigt werden. Wenn Sie HTTPS verwenden, können Sie es mit der Standardauthentifizierung kombinieren und Client-Anmeldeinformationen aus Ihrem Code bereitstellen, sodass Sie den Dienst in Ihrer internen Zone aufrufen und die Domänenanmeldeinformationen für die Authentifizierung verwenden. Der Dienst wird anhand seines für HTTPS verwendeten Zertifikats authentifiziert. HTTPS ermöglicht auch eine gegenseitige Zertifikatauthentifizierung, bei der der Client ein Zertifikat an den Dienst sendet - wenn das korrekt konfigurierte Clientzertifikat dem Domänenkonto zugeordnet werden kann. Diese beiden Ansätze ähneln den erwähnten Ansätzen in der Nachrichtensicherheit, aber anstelle des Sendens von Berechtigungsnachweisen im SOAP-Header wird der HTTP-Header verwendet.

    
Ladislav Mrnka 20.08.2010, 08:01
quelle
1

Ich denke, Sie sollten den folgenden Code in Ihrer web.config

kommentieren %Vor%

wie es mein Problem gelöst hat.

    
Ankitkumar Bhatt 25.07.2014 12:51
quelle

Tags und Links