wake-up-neo.com

Windows-Authentifizierung funktioniert nicht in IIS 7.5

Ich habe ein Problem mit der Windows-Authentifizierung IIS 7.5. Die Anwendung ist eine interne Site, die in asp.net MVC 3 erstellt wurde. Der Anwendungspool verwendet einen bestimmten Domänenbenutzer und die Site verwendet die Windows-Authentifizierung. Jedes Mal, wenn ich versuche, die Site zu starten, fordert mich IE zur Anmeldung auf.

Wenn ich genug storniere, wird die Site mit einem Durcheinander angezeigt, aber mein Name ist mit meiner Windows-Anmeldung verknüpft. Er wird oben angezeigt. Das bedeutet, dass die Site meine Windows-Anmeldeinformationen korrekt abruft.

Ich habe den lokalen Netzwerkbenutzer hinzugefügt, um Lesezugriff auf den inetpub-Ordner auf dem Server zu haben, und jetzt wird keine Aufforderung zur Anmeldung mit IE 8. Aber am chrome = Ich erhalte den Fehler "Fehler 338 (net :: ERR_INVALID_AUTH_CREDENTIALS): Unbekannter Fehler.".

Es befindet sich in der Zone unserer Intranetsites. Ich hätte das sagen sollen, aber ich habe es vergessen. Die Site funktionierte auf unserem alten Entwicklungsserver, aber als ich mit IIS 7.5 auf Win 2008 R2 upgegradet habe, funktionierte sie nicht mehr. War 2003 mit IIS 6.0.

Ich frage mich, ob jemand eine Idee hat, was ich sonst noch versuchen kann. Zu diesem Zeitpunkt dreht sich so ziemlich alles um mich.

Ich habe alle Lösungen in den folgenden Links ausprobiert und keine von ihnen hat das Problem behoben

http://forums.iis.net/t/1177154.aspx

http://forums.iis.net/t/1178188.aspx

Anmeldeaufforderung mit integrierter Windows-Authentifizierung empfangen

http://warnajith.blogspot.com/2011/06/iis-75-401-unauthorized-access-error.html

http://forums.asp.net/t/1639511.aspx/1

https://superuser.com/questions/128746/iis-asks-for-login-pass-when-accessed-using-hostname-but-not-when-localhost-is

http://ask.metafilter.com/183636/Prompted-for-a-username-and-password-when-browsing-to-an-IIS-virtual-directory

IIS 7- und Windows-Authentifizierung

28
divide_byzero

Ich habe die Antwort darauf gefunden. Dies ist eine Konfigurationseinstellung, die nicht in der GUI zugeordnet ist. Ich musste in die Host-Konfigurationsdatei der Anwendung gehen, die sich unter <% SystemDrive%>/Windows/System32/inetsrv/config befindet, und die folgenden Einstellungen ändern.

standardeinstellungen wo

<windowsAuthentication enabled="true"> <providers> <add value="Negotiate" /> </providers> </windowsAuthentication>

Geändert, und es hat funktioniert.

<windowsAuthentication enabled="true" useKernelMode="true" useAppPoolCredentials="true"> <providers> <add value="NTLM" /> </providers> </windowsAuthentication>

17
divide_byzero

Zugehöriger Hinweis: Wenn Sie versuchen, Ihre Site auf localhost zu replizieren und die Windows-Authentifizierung aktiviert ist und dennoch fehlschlägt, ist die Lösung ein Registry-Hacking, um die Loopback-Prüfung zu vermeiden:

Navigieren Sie mit regedit zu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0. Fügen Sie MSV1_0 einen neuen Wert für mehrere Zeichenfolgen hinzu, und nennen Sie ihn BackConnectionHostNames. Fügen Sie die gewünschten Hostnamen hinzu. Beispiel "mysite.com". Starten Sie den IIS neu.

Quelllink

Der Wert sollte der Name der Website in Ihrer Windows-Hosts-Datei sein.

Um auch mit PHP file_get_contents auf einen nicht authentifizierten Ordner/data zugreifen zu können, musste ich diesen zur Datei applicationHost.config hinzufügen, um 401-Fehler zu vermeiden.

<location path="mysite.com/data">
        <system.webServer>
            <security>
                <authentication>
                     <anonymousAuthentication enabled="true" />
                    <windowsAuthentication enabled="false" />
                </authentication>
            </security>
        </system.webServer>
    </location>
23
captainhero70

Damit die integrierten Anmeldeinformationen vom Internet Explorer übergeben werden können, muss sich die Site in der Zone Ihrer Intranetsites befinden. Es kann nicht in vertrauenswürdigen Sites oder anderen Sites sein.

6
Steven Murawski

Ich hatte ein ähnliches Problem und es wurde behoben, indem die Benutzergruppe (MYDOMAIN\Users) zum physischen Ordner der Anwendung mit Leseberechtigungen hinzugefügt wurde.

2
rhysp

ich habe ein ähnliches Problem, das nur durch Verschieben von NTLM auf Kerberos in den Anbietern, wie von Rory erklärt, oder durch Ändern von DNS gelöst wird. Das Problem tritt nur in IIS7 auf, wenn der Host-Header der Website als CNAME (Alias) im DNS vorhanden ist. In IIS6 verwendet die integrierte Windows-Authentifizierung standardmäßig nur NTLM. In IIS7 verwendet IWS standardmäßig Kerberos vor NTLM. Das Ersetzen des CNAME-Eintrags durch einen A-Eintrag löst das Problem. Kerberos hat keine Probleme mit A-Einträgen in DNS, aber Probleme mit Aliasen.

Offensichtlich sind DNS-CNAMEs unter Windows 2008 nicht mit Kerberos kompatibel.

chris

2

Wenn der Browser Sie zur Eingabe Ihrer Anmeldeinformationen auffordert, haben Ihre Anmeldeinformationen für den App-Pool meines Erachtens keinen Zugriff auf einige Ressourcen auf Ihrer Seite. Haben Sie versucht, eine leere HTML-Seite zu erstellen und auf diese Seite zuzugreifen?

<html>
<body>
hello world!
</body>
</html>
0
Ray Cheng

Ich habe ein ähnliches Problem.

Ich hatte eine Anwendung unter "Standardwebsite", für die die Windows-Authentifizierung bereits aktiviert war, die jedoch nicht funktionierte. Ich habe das Deaktivieren der anonymen Authentifizierung auf der Standardwebsite und das Aktivieren der Windows-Authentifizierung auf der Standardwebsite behoben.

0
FTF