ASP.NET - Lesen und schreiben im Dateisystem außerhalb der Anwendung
Gibt es eine Möglichkeit, den Zugriff auf das Datei-system außerhalb des aktuellen ASP.NET Anwendung, ohne zu gehen um geben IIS_IUSRS
Berechtigungen? Zum Beispiel, wenn ich wollte, diese Linie zu arbeiten:
logStream = File.Open("C:\logs\app.log", FileMode.Append, FileAccess.Write, FileShare.ReadWrite);
... Ich würde normalerweise erteilen Sie lese - /Schreibzugriff zu C:\logs\app.log
zu den IIS_IUSRS
Gruppe. Dies wird nervig für die Einstellung der app auf neue Systeme, in denen die Verzeichnisse, auf die zugegriffen werden muss, können sich in verschiedenen Standorten. Gibt es eine Möglichkeit zu sagen ASP.NET welche Verzeichnisse sollte Zugriff haben?
InformationsquelleAutor Jimmy Schementi | 2009-09-25
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hierzu können Sie Identitätswechsel verwenden, aber ich möchte Sie bitten, dies nicht zu tun. Sie sind in sehr riskante Bereiche so weit wie Sicherheit besorgt ist. Wenn Sie nicht zu 100% sicher, dass die Zugriffsberechtigungen der Identität, die Sie imitiert werden, dann laufen Sie die sehr Reale Risiko, dass Hacker, um auf Bereiche des Servers, die Sie nicht wollen. Einrichten der ACL ist richtig zeitaufwändig ist, und Sie NICHT möchten, verwenden Sie einfach einen Verwaltungs-oder super-user. Wollen Sie einem Benutzer eingerichtet werden, der speziell für diese Zwecke, und wenn Sie tun, Sie sind nur das hinzufügen von einem Schritt zu dem, was Sie bereits tut.
Eine bessere Lösung wäre, um das design Ihrer app zu schreiben, um einen Ordner, der Ihre Anwendung steuert. Ihre installation können die Ordner auf der Maschine und erteilen Sie Berechtigungen automatisch, anstatt auf eine vorhandene system-Ordner.
http://msdn.microsoft.com/en-us/library/ms998258.aspx#pagguidelines0001_impersonationdelegation
Können Sie auch den setup für Ihr AppPool zum ausführen unter einem Konto mit den entsprechenden Anmeldeinformationen.