Fehlermeldung "HTTP-Fehler 401.1 - Nicht autorisiert: Der Zugriff wurde aufgrund ungültiger Anmeldeinformationen verweigert", wenn Sie versuchen auf eine Website zuzugreifen, die Teil eines IIS 6.0-Anwendungspools ist

Artikel-ID: 871179 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
871179 You receive an "HTTP Error 401.1 - Unauthorized: Access is denied due to invalid credentials" error message when you try to access a Web site that is part of an IIS 6.0 application pool
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Problembeschreibung

Wenn Sie versuchen, auf eine Microsoft Internet Information Services (IIS) 6.0 Website zuzugreifen, die so konfiguriert ist, dass sie nur die integrierte Windows-Authentifizierung verwendet, werden Sie zur Eingabe Ihrer Benutzeranmeldeinformationen aufgefordert. Wenn Sie versuchen sich anzumelden, wird die Aufforderung zum Anmelden erneut angezeigt. Nachdem Sie drei Mal versucht haben sich anzumelden, wird Ihnen folgende Fehlermeldung angezeigt:
"HTTP 401.1 - Nicht autorisiert: Der Zugriff wurde aufgrund ungültiger Anmeldeinformationen verweigert."

Ursache

Dieses Verhalten kann auftreten, wenn folgende Bedingungen erfüllt sind:
  • Die IIS 6.0-Website ist Teil eines IIS-Anwendungspools.
  • Der Anwendungspool läuft unter einem lokalen Konto oder unter einem Domänen-Benutzerkonto.
  • Die Website ist so konfiguriert, dass sie nur die integrierte Windows-Authentifizierung verwendet.
In diesem Szenario versucht die integrierte Windows-Authentifizierung Kerberos zu verwenden, die Kerberos-Authentifizierung funktioniert eventuell nicht. Um die Kerberos-Authentifizierung zu verwenden, muss ein Dienst seinen Dienstprinzipalname (SPN = Service Principal Name) im Active Directory-Verzeichnisdienst registrieren, unter dem der Dienst ausgeführt wird. Standardmäßig registriert Active Directory den NetBIOS-Computernamen (Network Basic Input/Output System). Active Directory gestattet dem Netzwerkdienst oder dem lokalen Systemkonto auch Kerberos zu verwenden.

Lösung

Wenn dieses Verhalten auftritt, wenn der Anwendungspool unter einem lokalen Konto läuft, führen Sie die Schritte im Abschnitt "Abhilfe" aus.

Um dieses Verhalten zu beheben, wenn der Anwendungspool unter einem Domänen-Benutzerkonto ausgeführt wird, richten Sie einen HTTP-SPN und einen voll qualifizierten Domänennamen (Fully qualified domain name, FQDN) des Domänen-Benutzerkontos ein, unter dem der Anwendungspool ausgeführt wird. Führen Sie hierzu die folgenden Schritte auf einem Domänencontroller durch:

Wichtig: Ein SPN für einen Dienst kann nur mit einem Konto verknüpft werden. Wenn Sie also diese vorgeschlagene Lösung anwenden, kann kein anderer Anwendungspool, der unter einem anderen Domänen-Benutzerkonto ausgeführt wird, nur mit der integrierten Windows-Authentifizierung verwendet werden.
  1. Installieren Sie das Programm "Setspn.exe". Die neuesten Microsoft Windows 2000-Version des Programms erhalten Sie auf der folgenden Microsoft-Website:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en
    Die Microsoft Windows Server 2003-Version des Befehlszeilenprogramm "Setspn.exe" ist unter den Windows Server 2003-Supporttools verfügbar, die sich auf Ihrer Windows Server 2003-CD befinden. Um die Programme zu installieren, doppelklicken Sie auf die Datei "Suptools.msi" im Ordner "Supporttools".
  2. Starten Sie eine Eingabeaufforderung, wechseln Sie dann in das Verzeichnis, in das Sie "Setspn.exe" installiert haben.
  3. Geben Sie an der Eingabeaufforderung folgende Befehle ein. Drücken Sie nach jedem Befehl die [EINGABETASTE]:
    setspn.exe -a http/NetBIOS_Name_von_IIS_Computer Domänenname\Benutzername

    setspn.exe -a http/FQDN_von_IIS_Computer Domänenname\Benutzername
    Hinweis: Benutzername ist das Benutzerkonto, unter dem der Anwendungspool ausgeführt wird.
Nachdem Sie die SPN für den HTTP-Dienst für das Domänen-Benutzerkonto gesetzt haben, unter dem der Anwendungspool ausgeführt wird, können Sie sich erfolgreich mit der Website verbinden, ohne dass Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert werden.

Abhilfe

Wenn Sie mehrere Anwendungspools haben, die unter verschiedenen Domänenbenutzerkonten ausgeführt werden, müssen Sie zum Umgehen dieses Verhaltens IIS zwingen, NTLM als Authentifizierungsmechanismus zu verwenden, wenn Sie nur die integrierte Windows-Authentifizierung verwenden möchten. Führen Sie hierfür die folgenden Schritte auf dem Server aus, auf dem IIS ausgeführt wird:
  1. Öffnen Sie die Eingabeaufforderung.
  2. Suchen und wechseln Sie in das Verzeichnis, das die Datei "Adsutil.vbs" enthält. Standardmäßig ist dies C:\Inetpub\Adminscripts.
  3. Geben Sie den folgenden Befehl ein, und drücken Sie danach die [EINGABETASTE]:
    cscript adsutil.vbs set w3svc/##/NTAuthenticationProviders "NTLM"
  4. Um sicherzustellen, dass die Metabasiseigenschaft NtAuthenticationProviders auf NTLM gesetzt ist, geben Sie den folgenden Befehl ein, und drücken Sie die [EINGABETASTE]:
    cscript adsutil.vbs get w3svc/NTAuthenticationProviders
    Der folgende Text sollte zurückgegeben werden:
    NTAuthenticationProviders       : (STRING) "NTLM"

Status

Es handelt sich hierbei um ein beabsichtigtes Verhalten.

Weitere Informationen

Wenn Sie die SPN nur mithilfe des FQDN des Servers setzen, auf dem IIS ausgeführt wird, werden Sie nach 30 Minuten dazu aufgefordert, Ihre Anmeldeinformationen einzugeben. Die Zeitüberschreitung nach 30 Minuten tritt auf, da Internet Explorer die Domain Name System-(DNS-)Informationen zwischenspeichert. Nach 30 Minuten kehrt Internet Explorer zum NetBIOS-Namen zurück. Daher müssen Sie sicherstellen, dass Sie auch die SPN registrieren, indem Sie den NetBIOS-Namen des Servers verwenden, der IIS ausführt. So verhindern Sie, dass Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert werden. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
263558 Verwendung des Cache für DNS-Hosteinträge in Internet Explorer
Um die SPNs für Ihr Benutzerkonto zu überprüfen, unter dem Ihr Anwendungspool ausgeführt wird, starten Sie eine Eingabeaufforderung, geben Sie den folgenden Befehl von dem Verzeichnis ein, in das "Setspn.exe" installiert ist, und drücken Sie dann die [EINGABETASTE].
setspn.exe -l Benutzername
Eine Liste der für das Benutzerkonto registrierten SPNs wird zurückgegeben.

Informationsquellen

Weitere Informationen zur Nutzung der integrierten Windows-Authentifizierung mit IIS-Anwendungspools finden Sie im Abschnitt "Worker Process Identity Restrictions with Kerberos" (Einschränkungen der Arbeitsprozessidentität in Kerberos) der folgenden Website von Microsoft:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/523ae943-5e6a-4200-9103-9808baa00157.mspx
Für weitere Informationen zu Authentifizierungsfehlern oder Zugriffsteuerungsfehlern in IIS können Sie "Authentication and Access Control Diagnostics 1.0" herunterladen. Die folgende Datei steht im Microsoft Download Center zum Download zur Verfügung:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E90FE777-4A21-4066-BD22-B931F7572E9A&displaylang=en
Hinweis: Das Programm "AuthDiag" soll Ihnen helfen, wenn Sie eine der folgenden Fehlermeldungen sehen:
  • 401.1 Anmeldung fehlgeschlagen
  • 401.3 ACL
Das Programm "AuthDiag" kann Ihnen auch helfen, wenn Sie Probleme mit Kerberos haben.

Eigenschaften

Artikel-ID: 871179 - Geändert am: Montag, 3. Dezember 2007 - Version: 4.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Information Services 6.0
Keywords: 
kbtshoot kbprb KB871179
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns