
Ich schwöre, ich habe vor ein paar Wochen eine Frage dazu gestellt, aber vielleicht habe ich sie gelöscht, da ich sie nirgends finden kann.
- ASP.NET 4.0
- IIS6
- Windows Server 2003
- Intranetsite mit Windows-Authentifizierung
- Drei Server mit derselben Betriebssystem- und IIS-Version, die jeweils eine Entwicklungs-, Produktions- und Notfallwiederherstellungsversion (DR) derselben Website hosten.
Betrachten Sie nun diese Reihenfolge der Ereignisse:
- Der Benutzer beginnt mit IE8 und beliebigen Versionen von FF und Chrome
- Der Benutzer kann nur auf die DR-Site zugreifen. Die Anmeldeaufforderung verweigert die Authentifizierung mit den Windows-Anmeldeinformationen für die anderen Sites, sodass er sich nicht anmelden kann.
- Sie installieren eine neue Kopie von Windows 7 und aktualisieren auf IE9. Jetzt können sie in IE9 auf die Dev- und DR-Sites zugreifen. In Chrome können sie auf alle drei Sites zugreifen.
Ich habe Folgendes in den Interneteinstellungen überprüft:
- Automatische Anmeldung mit aktuellem Benutzernamen und Passwort
- Integrierte Windows-Authentifizierung aktivieren
Ich bin bei MSKB darauf gestoßen: http://support.microsoft.com/kb/215383
Die Metabasiseigenschaft „NTAuthenticationProviders“ ist nicht definiert, daher sollte IIS sie Negotiate,NTLM
standardmäßig verwenden.
Andere Details:
- Dies begann erst vor ein paar Wochen. Der Benutzer konnte mit IE8 problemlos auf unsere Site zugreifen.
- Kein anderer Benutzer hat dieses Problem.
Weiß jemand, was die Ursache dafür sein könnte, dass sein Browser die Authentifizierungsinformationen nicht an den Server sendet? Hier ist ein Screenshot des Authentifizierungsfensters, das dem Benutzer angezeigt wird:
Weitere Details
Folgendes wird in der Sicherheitsereignisanzeige für diesen Benutzer angezeigt. Ich habe vertrauliche Informationen mit ausgeblendet ?
.
Ereignistyp: Erfolgsaudit Ereignisquelle: Sicherheit Ereigniskategorie: Anmelden/Abmelden Ereignis-ID: 538 Datum: 14.07.2014 Uhrzeit: 13:27:37 Uhr Benutzer: ?\? Computer: ? Beschreibung: Benutzerabmeldung: Nutzername: ? Domäne: ? Anmelde-ID: (0x0,0x3F99497F) Anmeldetyp: 3 Ereignistyp: Erfolgsaudit Ereignisquelle: Sicherheit Ereigniskategorie: Anmelden/Abmelden Ereignis-ID: 540 Datum: 14.07.2014 Uhrzeit: 13:27:14 Uhr Benutzer: ?\? Computer: ? Beschreibung: Erfolgreiche Netzwerkanmeldung: Nutzername: ? Domäne: ? Anmelde-ID: (0x0,0x3F997233) Anmeldetyp: 3 Anmeldevorgang: NtLmSsp Authentifizierungspaket: NTLM Name der Arbeitsstation: ? Anmelde-GUID: - Benutzername des Anrufers: - Anruferdomäne: - Anrufer-Anmelde-ID: - Anrufer-Prozess-ID: - Durchgeleitete Dienste: - Quellnetzwerkadresse: ? Quellport: 16220
Antwort1
Die Aktivierung der automatischen NTLM-Erkennung erfolgt wie folgt.
Internet Explorer
- Rufen Sie die Interneteinstellungen im Internet Explorer über "IE -> Extras -> Internetoptionen" oder über Systemsteuerung -> Internetoptionen auf.
- Gehen Sie zur Registerkarte „Sicherheit“
- Klicken Sie auf Sites
- Klicken Sie entweder auf Lokales Intranet oder Vertrauenswürdige Sites
- Fügen Sie Ihre Sites zur Liste hinzu
- Deaktivieren Sie bei Bedarf die Option „Für alle Sites in dieser Zone ist eine Serverüberprüfung (https:) erforderlich“.
- Klicken Sie auf Schließen
- Klicken Sie auf Stufe anpassen
- Scrollen Sie unter „Benutzerauthentifizierung/Anmeldung“ ganz nach unten und stellen Sie sicher, dass „Automatische Anmeldung mit aktuellem Benutzernamen und Kennwort“ aktiviert ist.
- OK klicken
Google Chrome
Google Chrome verwendet tatsächlich dieselben Einstellungen wie der Internet Explorer, nämlich die oben genannten Einstellungen unter Systemsteuerung -> Internetoptionen. Sie müssen also nichts weiter tun.
Feuerfuchs
- Öffnen Sie Firefox und geben Sie „about:config“ in die Adressleiste ein (ohne Anführungszeichen).
- Geben Sie im Feld „Filter“ ein
network.automatic-ntlm-auth.trusted-uris
- Doppelklicken Sie auf das obige Feld und geben Sie die URLs von Websites oder ganzen Domänen ein, getrennt durch Kommas
- Wenn Ihre Sites keinen FQDN verwenden (beispielsweise
http://intranet
anstelle vonhttp://intranet.domain.com
), gehen Sie außerdem wie folgt vor:network.automatic-ntlm-auth.allow-non-fqdn
Auf „true“ setzennetwork.negotiate-auth.allow-non-fqdn
Auf „true“ setzen