Unterschied zwischen ClientCredentialType = Windows und = Ntlm

8

Kann jemand eine klare Erklärung für den Unterschied zwischen der Verwendung

geben?
  • clientCredentialType=Windows und
  • clientCredentialType=Ntlm

in einer serverseitigen Web.config beim Hosten eines WCF-Dienstes?

                                         

Ich habe einen SOAP 1.1 ( basicHttpBinding ) Service für Interop mit bestehenden Clients. Es verwendet ASP.NET-Rollen, so dass Clients authentifiziert werden müssen.

Wenn ich den Server VS2005 (Cassini) als Host für den Dienst verwende, muss ich ClientCredentialType=Ntlm wie oben angeben und das Kontrollkästchen Ntlm in den Projekteigenschaften in VS2005 aktivieren. ClientCredentialType=Windows funktioniert nicht - Clients erhalten a:

  

401 Nicht autorisierter Fehler

Wenn ich unter IIS arbeite, ist es umgekehrt: ClientCredentialType=Windows funktioniert und ClientCredentialType=Ntlm schlägt fehl.

Kann jemand das erklären und vorzugsweise vorschlagen, dass ich dieselbe web.config-Datei haben kann, um den Dienst in Cassini und IIS auszuführen?

Aktualisieren

Ich habe .NET 3.5 SP1 auf meinem Dev-Rechner, also XP SP2, der in einer Domäne läuft. Cassini läuft daher unter einem Domänenkonto und IIS 5.1 unter einem lokalen Konto.

Ich frage mich, ob es mit der in .NET 3.5SP1 beschriebenen brechenden Änderung zusammenhängen könnte, die in diesen Artikeln beschrieben wird.

Ссылка Ссылка Ссылка

Die Situation klingt ähnlich, wenn clientCredentialType=Windows fehlschlägt, wenn der Server unter einem Domänenkonto ausgeführt wird (was meiner Situation entspricht, in der Cassini als normales Domänenbenutzerkonto ausgeführt wird) und wenn er unter einem lokalen Konto ausgeführt wird Situation mit IIS).

Das Problem ist, dass die vorgeschlagenen Fixes Änderungen an einer WCF-Client-Konfigurationsdatei erfordern - aber in meinem Fall verwende ich SOAP 1.1 ( basicHttpBinding ) mit Nicht-WCF-Clients.

    
Joe 17.04.2009, 21:15
quelle

1 Antwort

1

clientCredentialType = Windows verwendet die integrierte Windows-Authentifizierung, die über Active Directory und NTLM erfolgen kann.

Offensichtlich verwendet der NTLM-Typ nur NTLM zur Authentifizierung.

Ich bin sicher, Sie haben es bereits gesehen, aber hier ist ein Link zur WCF-Sicherheit:      Ссылка

Einige weitere Details zu Ihrer Einrichtung würden helfen. Funktionieren die IIS- und Cassini-Server auf derselben Box? Wenn nicht, haben Sie die gleichen Accounts für jede Box? IIS6 unterstützt standardmäßig NTLM, daher sollte es kein Problem sein, es zum Laufen zu bringen.

    
Erik 17.04.2009 22:00
quelle

Tags und Links