Die integrierte Windows-Authentifizierung funktioniert nicht nur im IE


7

Auf meiner Website habe ich einen Ordner, der keinen anonymen Zugriff zulässt. Es ist für die Verwendung der integrierten Windows-Authentifizierung in einer AD-Domäne eingerichtet. Die Anmeldung funktioniert gut in Firefox, Chrome, sogar in Safari, aber nicht in IE8. Hat jemand dies schon einmal erlebt? Ich kann anscheinend niemanden mit einem ähnlichen Problem finden, außer wenn die Anmeldung in allen Browsern fehlschlägt.


Entschuldigung für zu viele Fragen, aber ich möchte ein bisschen mehr verstehen. Was ist die Version von IIS? Ist es eine .net-Anwendung und der Ordner befindet sich auf demselben Server oder auf einer anderen Box?
Vivek Kumbhar

Versuchen Sie, den IE dazu zu bringen, sich automatisch anzumelden, oder können Sie sich überhaupt nicht anmelden?
Eric C. Singer

Antworten:


4

Möglicherweise liegt dies an einem kaputten SPN.

Ich vermute, dass die Nicht-Microsoft-Browser kein Kerberos ausführen (oder zumindest nicht auf die gleiche Weise wie der IE).

Dies bedeutet, dass der IE möglicherweise versucht, sich mit Kerberos anzumelden, während die anderen möglicherweise NTLM verwenden.

Wenn ein SPN für http / www.example.com oder host / www.example.com vorhanden ist und nicht dem Konto gehört, in dem der Anwendungspool ausgeführt wird, ist dies ein guter Grund für diese Art von Unterbrechung.

Unter Windows 2008 oder höher: SETSPN -Xsucht nach Duplikaten; SETSPN -Q http/www.example.comwird nach Besitzern dieses spezifischen SPN suchen.

Beheben Sie Ihr SPN-Problem, und Sie werden wahrscheinlich die fehlerhaften IE-Anmeldungen beheben.

In anderen Anleitungen wird möglicherweise empfohlen, die integrierte Windows-Authentifizierung in den erweiterten IE-Eigenschaften zu deaktivieren. Das ist ein Schachzug ohne Knochen, der Kerberos für alles kaputt macht und das Problem vertuscht.

Mehr hier .


1
Ich glaube, diese Antwort ist richtig. Meine Website mit Windows Auth hat für IE und Chrome einwandfrei funktioniert. Dann habe ich die Anwendungspoolidentität der Site geändert und danach funktioniert die Authentifizierung im IE nicht mehr - obwohl sie in Chrome funktioniert hat. IE würde den Benutzer / Pass-Dialog präsentieren, ich würde die entsprechenden Anmeldeinformationen eingeben, aber die Anmeldung würde fehlschlagen. Das Update für mich (glaube ich) war das Deaktivieren der Option "Integrierte Windows-Authentifizierung aktivieren" in den IE-Einstellungen.
Kingdango

SPN = Service Principal Name
Tom Ferguson

2

Dies wurde im Vorbeigehen in einem der Kommentare erwähnt, aber ich wollte es ausdrücklich erwähnen, falls jemand anderes es nützlich findet. Ich hatte das gleiche Problem und konnte es durch Ändern der App-Pool-Identität beheben. Dies 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 veröffentlichen, aber ich brauche anscheinend mehr Ruf. Wenn jemand diese Antwort positiv bewertet, kann ich das Bild hinzufügen.)


1

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.

Ich empfehle die Lösung "Integrierte Windows-Authentifizierung aktivieren" nicht, da normale Benutzer darauf zugreifen und auf etwas klicken müssen, für das sie möglicherweise nicht einmal die Berechtigung zum Ändern haben, je nachdem, wie Administratoren den IE konfiguriert haben.

Für den Fall, dass das Kerberos-Setup nicht in Kürze repariert wird, besteht die flexiblere Lösung darin, die App in IIS aufzurufen, auf Authentifizierung zu klicken, die Windows-Authentifizierungszeile zu markieren (die als aktiviert markiert sein sollte, wobei alles andere deaktiviert ist) und Klicken Sie dann rechts auf den Link "Anbieter ...". Es wird wahrscheinlich zwei Einträge geben, "Negotiate" und "NTLM", wobei Negotiate an der Spitze steht. Bewegen Sie NTLM nach oben. Dies zwingt Ihre Site zwar zur Verwendung von NTLM, was ein Sicherheitsrisiko darstellt, ist jedoch die einzige Option, wenn Kerberos nicht verfügbar ist.


0

Greifen Sie über einen vollständig qualifizierten Domainnamen auf die Site zu? Beispielsweise kann auf eine Intranetsite über "Intranet" zugegriffen werden, aber IE8 glaubt nicht, dass sich dies in Ihrer AD-Domäne befindet, da der "Domänenteil" nicht übereinstimmt. Sie müssten "intranet.example.com" verwenden, wobei Ihre AD-Domain "example.com" lautet.


Unser Intranet ist nur ein Unterordner auf der Hauptseite, also nur www.example.com/intranet. Ich habe versucht, die Domain in das Anmeldefeld vor dem Benutzernamen zu stellen, aber das hat keinen Unterschied gemacht.
CoreyT

0

Chrome hat einmal nach meinem Passwort gefragt und war erfolgreich.

IE hat 3x zur Eingabe meines Passworts aufgefordert und ich erhalte eine 401 Unauthorized.

Mein Problem war schließlich, dass sowohl IE als auch Chrome mich zur Eingabe von Anmeldeinformationen für zwei verschiedene Server aufforderten. Der Grund für die Aufforderung zur Eingabe von Anmeldeinformationen liegt wahrscheinlich in einer Kennwortänderung in der letzten Woche.

Chrome hat mich mit meinem Domain-Konto dazu aufgefordert. MyDomain \ MyUserId

Aber der IE hat mich zu ThisServerUrl.com \ MyUserId aufgefordert (was natürlich fehlgeschlagen ist, weil dieser Benutzer nicht auf dem Server vorhanden ist, aber noch schlimmer - die URL hat nichts mit dem Servernamen zu tun - M $ was denkst du? ?)

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.