Hier ist ein Problem mit IIS 7.5 und ASP.NET, mit dem ich recherchiert habe und mit dem ich nichts anfangen kann. Jede Hilfe wäre sehr dankbar.
Meine Frage lautet: Wie ermöglicht IIS und / oder das Betriebssystem unter Verwendung von ASP.NET in IIS 7.5, dass die Webanwendung in einen Ordner schreibt, wie C:\dump
wenn sie unter voller Vertrauenswürdigkeit ausgeführt wird? Wie kommt es, dass ich dem Anwendungspoolbenutzer (in diesem Fall ApplicationPoolIdentity
) keinen expliziten Schreibzugriff hinzufügen muss ?
Soviel weiß ich:
- In IIS 7.5 lautet die Standardidentität für einen Anwendungspool
ApplicationPoolIdentity
. ApplicationPoolIdentity
stellt ein Windows-Benutzerkonto mit dem Namen "IIS APPPOOL \ AppPoolName" dar, das beim Erstellen des Anwendungspools erstellt wird, wobei AppPoolName der Name des Anwendungspools ist.- Der Benutzer "IIS APPPOOL \ AppPoolName" ist standardmäßig Mitglied der
IIS_IUSRS
Gruppe. - Wenn Sie unter Voll vertrauenswürdig ausgeführt werden , können Sie Ihre Web - Anwendung auf viele Bereiche des Dateisystems schreiben (ohne Ordner wie
C:\Users
,C:\Windows
usw.). Beispielsweise kann Ihre Anwendung in einige Ordner schreiben, zC:\dump
. - Standardmäßig
IIS_IUSRS
erhält die Gruppe keinen Lese- oder SchreibzugriffC:\dump
(zumindest keinen Zugriff, der über die Registerkarte "Sicherheit" im Windows Explorer angezeigt wird ). - Wenn Sie den Schreibzugriff verweigern
IIS_IUSRS
, wird beim Versuch, in den Ordner zu schreiben (wie erwartet), eine SecurityException angezeigt.
Wie wird dem Benutzer "IIS APPPOOL \ AppPoolName" unter Berücksichtigung all dessen Schreibzugriff gewährt? Der Prozess w3wp.exe wird als dieser Benutzer ausgeführt. Wie kann dieser Benutzer also in einen Ordner schreiben, auf den er scheinbar keinen expliziten Zugriff hat?
Bitte beachten Sie, dass ich verstehe, dass dies wahrscheinlich aus Bequemlichkeitsgründen getan wurde, da es schwierig wäre, einem Benutzer Zugriff auf jeden Ordner zu gewähren, in den er schreiben muss, wenn Sie unter Full Trust ausgeführt werden. Wenn Sie diesen Zugriff einschränken möchten, können Sie die Anwendung jederzeit unter Medium Trust ausführen. Ich bin daran interessiert herauszufinden, wie das Betriebssystem und / oder IIS diese Schreibvorgänge zulässt, obwohl anscheinend kein expliziter Dateisystemzugriff gewährt wird.