
Ich habe eine Webanwendung in IIS 7 eingerichtet, die mit Windows-Authentifizierung konfiguriert ist. Ich kann mich von jedem anderen Computer aus über die vollqualifizierte URL bei dem Computer authentifizieren und er verwendet die richtige Domäne. Wenn ich jedoch versuche, von ihm aus über die vollqualifizierte Domäne (entweder in einem anderen Dienst oder nur über die URL im IE) eine Verbindung mit dem Computer herzustellen, versucht die Windows-Anmeldeaufforderung, die Verwendung des Computers als Domäne zu erzwingen und nicht die richtige Domäne für die Anmeldung. Der Versuch, die Domäne mit domain\username
oder anzugeben [email protected]
, schlägt fehl.
Ich muss anmerken, dass das Anzeigen der Webanwendung localhost
auf dem Computer funktioniert, die Verwendung der vollständigen site.company.com/webservice
URL auf dem lokalen Computer jedoch nicht funktioniert, da die Anmeldedomäne falsch ist. Was kann ich tun, damit die richtige Anmeldedomäne verwendet wird?
Antwort1
Ich habe versucht, dasselbe zu tun. Ich habe mithilfe eines FQDN auf eine Website im lokalen IIS zugegriffen und wurde vom IIS immer wieder angewiesen, wohin ich gehen soll.
Wie ich jedenfalls herausgefunden habe, müssen Sie die Loopback-Prüfung für lokale IIS-Websites deaktivieren.
Siehe folgendeMicrosoft-Supportseite.
Für den Fall, dass die Seite verloren geht, habe ich Folgendes getan (was er im obigen Blog-Beitrag empfiehlt):
- Öffnen Sie den Registrierungseditor, indem Sie unter „Ausführen“ „regedit“ eingeben.
- Navigieren Sie zu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- Klicken Sie mit der rechten Maustaste auf MSV1_0, klicken Sie auf „Neu“ und wählen Sie die Option „Mehrere Zeichenfolgenwert“ aus.
- Geben Sie BackConnectionHostNames als Namen für den Eintrag ein und doppelklicken Sie darauf, um ihn zu ändern.
- Geben Sie die Hostnamen ein, die Sie verwenden müssen (z. B. code-journey.com).
- Starten Sie den IISAdmin-Dienst neu („Start“ -> „Verwaltung“ -> „Dienste“)
Hoffe das hilft.
komm schon.
Antwort2
Dies liegt an einer Sicherheitsfunktion namens LoopbackCheck.
Fehlermeldung beim Versuch, nach der Installation von Windows Server 2003 Service Pack 1 lokal über den FQDN oder den CNAME-Alias auf einen Server zuzugreifen: „Zugriff verweigert“ oder „Kein Netzwerkanbieter hat den angegebenen Netzwerkpfad akzeptiert“
http://support.microsoft.com/kb/926642
Es gibt zwei Auflösungen:
Methode 1 (empfohlen): Erstellen Sie die Hostnamen der lokalen Sicherheitsautorität, auf die in einer NTLM-Authentifizierungsanforderung verwiesen werden kann. Führen Sie dazu die folgenden Schritte für alle Knoten auf dem Clientcomputer aus:
- Klicken Sie auf „Start“ und dann auf „Ausführen“, geben Sie „regedit“ ein und klicken Sie auf „OK“.
- Suchen Sie den folgenden Registrierungsunterschlüssel und klicken Sie darauf: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- Klicken Sie mit der rechten Maustaste auf MSV1_0, zeigen Sie auf Neu, und klicken Sie dann auf Mehrzeichenfolgenwert.
- Geben Sie in der Spalte „Name“ BackConnectionHostNames ein, und drücken Sie dann die EINGABETASTE.
- Klicken Sie mit der rechten Maustaste auf „BackConnectionHostNames“, und klicken Sie dann auf „Ändern“.
Geben Sie im Feld Wert den CNAME oder den DNS-Alias ein, der für die lokalen Freigaben auf dem Computer verwendet wird, und klicken Sie dann auf OK.
Hinweis: Geben Sie jeden Hostnamen in einer separaten Zeile ein.
Hinweis: Wenn der Registrierungseintrag „BackConnectionHostNames“ als REG_DWORD-Typ vorhanden ist, müssen Sie den Registrierungseintrag „BackConnectionHostNames“ löschen.
Beenden Sie den Registrierungseditor und starten Sie den Computer neu.
Methode 2: Deaktivieren Sie die Authentifizierungs-Loopbackprüfung, indem Sie den Registrierungseintrag DisableLoopbackCheck im Registrierungsunterschlüssel HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa auf 1 setzen. Um den Registrierungseintrag DisableLoopbackCheck auf 1 zu setzen, führen Sie auf dem Clientcomputer die folgenden Schritte aus:
- Klicken Sie auf „Start“ und dann auf „Ausführen“, geben Sie „regedit“ ein und klicken Sie auf „OK“.
- Suchen Sie den folgenden Registrierungsunterschlüssel und klicken Sie darauf: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- Klicken Sie mit der rechten Maustaste auf Lsa, zeigen Sie auf Neu, und klicken Sie dann auf DWORD-Wert.
- Geben Sie DisableLoopbackCheck ein, und drücken Sie dann die EINGABETASTE.
- Klicken Sie mit der rechten Maustaste auf DisableLoopbackCheck, und klicken Sie dann auf Ändern.
- Geben Sie im Feld Wert den Wert 1 ein, und klicken Sie dann auf OK.
- Beenden Sie den Registrierungseditor.
- Starte den Computer neu.
Antwort3
Ich kann Ihnen aufgrund einiger Erfahrungen mit der Einrichtung von SSO sagen, dass der IE nur dann automatisch ein Kerberos-Ticket für die Anmeldung übergibt, wenn sich Site und Client gemeinsam im Intranet befinden oder wenn sich die Site in der vertrauenswürdigen Zone befindet. Wenn der IE siehthttp://site.company.com/webserviceDabei wird davon ausgegangen, dass sich die Site im Internet befindet und es werden keine Anmeldeinformationen weitergegeben.
Unter diesem Link finden Sie einige nützliche Informationen zu IIS, IE und Kerberos. http://blogs.msdn.com/b/friis/archive/2009/12/31/things-to-check-when-kerberos-authentication-fails-using-iis-ie.aspx
Um den FQDN im Intranet zuzulassen, haben wir zwei Möglichkeiten gefunden, die funktionieren: den Webserver mit einem Zertifikat auszustatten und SSL zu verwenden oder ihn zur vertrauenswürdigen Zone hinzuzufügen.
Hoffe, das hilft im Hinblick auf Ihr Setup.