Integrierte Windows-Authentifizierung funktioniert nicht nur im Internet Explorer

Integrierte Windows-Authentifizierung funktioniert nicht nur im Internet Explorer

Auf meiner Site habe ich einen Ordner, der keinen anonymen Zugriff zulässt. Er ist so eingerichtet, dass er die integrierte Windows-Authentifizierung verwendet, da er sich in einer AD-Domäne befindet. Die Anmeldung funktioniert in Firefox, Chrome und sogar Safari einwandfrei, aber nicht in IE8. Ist das schon einmal jemandem passiert? Ich kann anscheinend niemanden mit einem ähnlichen Problem finden, außer natürlich, dass die Anmeldung in allen Browsern fehlschlägt.

Antwort1

Dies liegt wahrscheinlich daran, dass irgendwo ein SPN defekt ist.

Ich vermute, dass die Browser anderer Hersteller kein Kerberos unterstützen (oder es zumindest nicht auf die gleiche Weise wie der Internet Explorer).

Dies bedeutet, dass der IE möglicherweise eine Kerberos-Anmeldung versucht, während die anderen möglicherweise NTLM verwenden.

Wenn ein SPN für http/www.example.com oder host/www.example.com existiert und dieser nicht dem Konto gehört, das den Anwendungspool ausführt, wäre das ein guter Grund für diese Art von Unterbrechung.

Unter Windows 2008 oder höher: SETSPN -XEs wird nach Duplikaten gesucht; SETSPN -Q http/www.example.comes wird nach Besitzern dieses bestimmten SPN gesucht.

Beheben Sie Ihr SPN-Problem und Sie beheben wahrscheinlich auch das Problem der unterbrochenen IE-Anmeldungen.

In anderen Anleitungen wird Ihnen möglicherweise empfohlen, die integrierte Windows-Authentifizierung in den erweiterten Eigenschaften des Internet Explorers zu deaktivieren. Das ist ein dämlicher Schachzug, der Kerberos für alles kaputt macht und das Problem vertuscht.

MehrHier.

Antwort2

Dies wurde in einem der Kommentare beiläufig erwähnt, aber ich wollte es ausdrücklich erwähnen, falls jemand anderes es nützlich findet. Ich hatte dasselbe Problem und konnte es lösen, indem ich die App-Pool-Identität geändert habe. Diese finden Sie unter „Erweiterte Einstellungen“ für den angegebenen App-Pool.

Jemand hatte diesen Wert auf „AppPoolIdentity“ gesetzt, aber ich musste ihn auf „NetworkService“ zurücksetzen, um das Problem zu beheben.

(Ich habe versucht, ein Bild zu posten, aber ich brauche offensichtlich mehr Reputation. Wenn jemand diese Antwort positiv bewertet, kann ich das Bild hinzufügen.)

Antwort3

Die fehlerhafte SPN-Antwort scheint korrekt zu sein. Dies bedeutet, dass Sie möglicherweise Ihre IT-/IS-Abteilung auf das Problem hinweisen müssen, wenn Sie Kerberos korrekt einrichten möchten.

Die Lösung „Integrierte Windows-Authentifizierung aktivieren deaktivieren“ ist nicht zu empfehlen, da normale Benutzer dabei auf etwas klicken müssen, für dessen Änderung sie möglicherweise nicht einmal die Berechtigung haben, dies zu tun, je nachdem, wie der IE von Administratoren konfiguriert wurde.

Für den Fall, dass das Kerberos-Setup nicht so bald repariert wird, besteht die flexiblere Lösung darin, zur App in IIS zu gehen, auf „Authentifizierung“ zu klicken, die Zeile „Windows-Authentifizierung“ hervorzuheben (die als aktiviert markiert sein sollte, während alles andere deaktiviert ist) und dann rechts auf den Link „Anbieter …“ zu klicken. Es werden wahrscheinlich zwei Einträge angezeigt, „Negotiate“ und „NTLM“, wobei „Negotiate“ ganz oben steht. Verschieben Sie NTLM nach oben. Dadurch wird Ihre Site zwar gezwungen, NTLM zu verwenden, was ein Sicherheitsrisiko darstellt, aber es ist die einzige Option, wenn Kerberos nicht verfügbar ist.

Antwort4

Chrome hat mich einmal nach meinem Passwort gefragt und es hat funktioniert.

Der Internet Explorer fordert mich dreimal zur Eingabe meines Kennworts auf und ich erhalte die Fehlermeldung „401 Unauthorized“.

Mein Problem bestand letztendlich darin, dass sowohl IE als auch Chrome mich nach Anmeldeinformationen für zwei verschiedene Server fragten. Der Grund für die Aufforderung zur Eingabe von Anmeldeinformationen ist wahrscheinlich eine Passwortänderung letzte Woche.

Chromhat mich mit meinem Domänenkonto aufgefordert. MeineDomain\MeineBenutzerID

AberIEveranlasste mich zuThisServerUrl.com\MyUserId (was natürlich fehlschlug, weil dieser Benutzer auf dem Server nicht existiert, aber schlimmer noch – die URL hat nichts mit dem Servernamen zu tun – M$, was denkst du dir???)

Hoffentlich hilft dies dem nächsten armen Tropf mit dem gleichen Problem.

verwandte Informationen