Ich versuche, meine Webanwendung vollständig als AppPool-Benutzer (Domain \ UserForApp) auszuführen, und ich setze die Einstellung korrekt in IIS und alles läuft gut und "System.Security.Principal.WindowsIdentity.GetCurrent(). Name" gibt das korrekte "Domain \ UserForApp" zurück.Wie erzwinge ich die Verwendung von Identitätswechsel in IIS 7+?
aber als ich versuchte, die Berechtigungen meiner Web-App-Verzeichnis auf die nackten Knochen zu beschränken benötigt:
- System (Vollzugriff)
- Me (Full Access)
- Admininstrators (Full Access )
- UserForApp (lesen)
ich nicht mehr alle statischen Dateien laden konnte. So habe ich heruntergeladen Process Monitor, um herauszufinden, warum und wann immer er versucht, eine statische Datei zuzugreifen, ich die folgende Fehlermeldung erhalten:
ACCESS DENIED:
Desired Access: Generic Read
Disposition: Open
Options: Sequential Access, No Buffering
Attributes: RE
ShareMode: Read, Write, Delete
AllocationSize: n/a
Impersonating: NT AUTHORITY\IUSR
Und wie man aus der obigen IUSR- sieht keine Berechtigungen, so dass richtig ist, aber ich verstehe einfach nicht, warum es sich so auszugeben versucht. In meiner Datei web.config Ich habe:
<location path="" overrideMode="Deny">
<system.web>
<identity impersonate="false" />
</system.web>
</location>
nur um sicherzustellen, dass niemand auf den Identitätswechsel dreht, aber es hatte keine Wirkung.
Es funktioniert nicht im klassischen und im Pipeline-Modus, aber der Fehler ist etwas anders. In klassischem Format, wenn die Bilder angezeigt werden, zeigt es nur eine HTTP Error 401.3 - Unauthorized
Seite, und wenn Sie Pipelined verwenden, wird es auf die Anmeldeseite umgeleitet.
Das war es. Ich fand das schließlich, aber ich nahm an, dass es nur ein Workaround war. Danke für die Bestätigung für mich. –