Ich habe eine sehr einfache Site mit nur statischen Dateien in IIS 7 unter Windows Server 2008 SP2.
Wenn ich versuche, auf eine statische Datei zuzugreifen, wird eine 500-Fehlermeldung angezeigt. Wenn ich eine HTML-Datei umbenenne, um eine Aspx-Erweiterung zu haben, funktioniert dies einwandfrei.
Die Site funktioniert auch einwandfrei, wenn die integrierte Identität für den Anwendungspool verwendet wird. Das Problem tritt auf, wenn ich zur Verwendung eines benutzerdefinierten Kontos für den Anwendungspool wechsle. Ich habe versucht, sowohl lokale als auch Domänenkonten zu verwenden, um den Anwendungspool unter auszuführen.
Ich habe diesen Konten im Website-Verzeichnis und in den Dateien die volle Kontrolle gegeben.
Einschalten Verfolgung zeigt diese Fehlermeldung:
Modulename : IIS Web Core -
Benachrichtigung: 2
Httpstatus: 500
HttpReason: Interner Serverfehler
HttpSubStatus: 0
Error - Code: 2147943746
ConfigExceptionInfo
Mitteilung: AUTHENTICATE_REQUEST
Error - Code: Entweder eine geforderte Identitätswechselebene nicht vorgesehen ist , oder die gelieferte Identitätswechselebene ist ungültig. (0x80070542)
Ich hatte kein Glück, den Fehlercode zu googeln.
quelle
Sie können versuchen, den Anwendungspool für diese virtuelle Anwendung zu ändern und für diesen neuen Pool persönliche Berechtigungen zu erteilen
Um Berechtigungen für einen bestimmten Pool zu erteilen, geben Sie einfach Berechtigungen für den Benutzer "IIS APPPOOL \ YOUR_POOL_NAME".
quelle
Zusätzlich zu Brownies Antwort (es ist richtig, Sie müssen dieses Recht dem App-Pool-Konto geben); Wenn IIS Ihnen diesen Fehler sendet, wenn Sie ihn mit einem WCF-Client aufrufen (+ Windows-Authentifizierung ist in IIS aktiviert), kann dies daran liegen, dass die an IIS übergebenen Flags des NTLM-Tokens es ihm nicht erlauben, sich als Anrufer auszugeben.
Ändern Sie die Konfiguration Ihres Clients wie folgt (Standardeinstellung):
Dazu:
Weitere Informationen finden Sie in diesem Artikel: Identitätswechsel und Delegierung in WCF
quelle