500 Fehler bei Verwendung eines benutzerdefinierten Kontos für den Anwendungspool in IIS 7

11

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.

Brownie
quelle

Antworten:

9

Prolem Solved: Die Gruppe IIS_IUSRS fehlte in der lokalen Sicherheitsrichtlinie in "Identitätswechsel eines Clients nach Authentifizierung".

Brownie
quelle
Arbeitete für mich danke! Darüber hinaus
erfahren
1

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".

MNK_real
quelle
0

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):

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Identification" />
  </clientCredentials>
</behavior>

Dazu:

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Impersonation" />
  </clientCredentials>
</behavior>

Weitere Informationen finden Sie in diesem Artikel: Identitätswechsel und Delegierung in WCF

Matthieu
quelle