ASP.NET + der Zugriff auf den Pfad verweigert
Habe ich eine ASP.NET Anwendung, die versucht zu schreiben von Dateien auf dem web-server während der Laufzeit. In meiner Entwicklungsumgebung funktioniert dies. Wenn ich allerdings bereitstellen, um die Produktions-server, und ich den code auszuführen, erhalte ich eine Fehlermeldung, die besagt:
"Access to the path 'C:\Inetpub\wwwroot\MyWebApp\DirToWriteTo\' is denied."
Meinem Produktions-server ist eine Windows Server 2003 Maschine. Die web-Anwendung eingestellt ist, um den anonymen Zugriff über die IUSR_TEMPLATE Konto.
Was mache ich falsch?
Danke!
InformationsquelleAutor Villager | 2009-08-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie benötigen den Zuschuss Berechtigungen zu NETZWERK SERVICE Benutzer.
du kannst diesen link prüfen:-
http://repeatgeek.com/technical/asp-net-access-to-path-is-denied/
InformationsquelleAutor Subhash Jakhar
Ist die wahrscheinlichste problem ist, dass der anonyme Benutzer keinen Schreibzugriff auf den Speicherort.
Was ich tun würde, ist das erstellen einer
web.config
Eintrag für die Position, die Sie wollen, zu schreiben und zu verwenden, dass die config-Schlüssel als schreibbaren Verzeichnis. Dies ermöglicht es Ihnen, separate Konfiguration für Ihre Produktions-server und Ihre Entwicklung Maschine, wenn nötig.Weiter, geben Sie den Schreibzugriff auf das Verzeichnis der Definition in Ihrer Konfiguration, um die Benutzer
IUSER_TEMPLATE
oder als Thorarin, sagte der Netzwerk Service, in dem Fall sollten Sie Identitätswechsel in Ihrem Web.config, so dass Sie können geben Sie den Benutzer (es sei denn, Sie konfigurieren Sie die Benutzer über den app-pool). Das sollte das problem beheben.Web.config
hat eine<identity impersonate="true" />
im<system.web>
Abschnitt. Ansonsten wird die Identität festgelegt, die für den Anwendungspool verwendet wird. Standardmäßig ist Netzwerk-Dienst (der sehr begrenzte Zugang)Das ist wahr. Ich glaube nicht, dass zunächst. Ich werde aktualisieren, meine Antwort zu gehören.
InformationsquelleAutor Dan Herbert
Wenn Sie Windows 2008 oder höher, versuchen Sie geben Schreibberechtigungen für IIS_IUSRS.
(Netzwerk-Service hat auch für mich gearbeitet in der Vergangenheit. Von was ich gelesen habe hier, es kommt auf den Server OS.)
InformationsquelleAutor James Lawruk
In meinem Fall Visual Studio 2015 verändert ein bestehendes Projekt IIS-AppPool-user auf die Standardeinstellungen von DefaultAppPool, und das gab mir die Erlaubnis, Fehler, Konfigurationsfehler, Rolle Anbieter-Fehler und null-Verweis-Fehler. Entdecken Sie diese und ändern Sie zurück zu den Anwendungspool, der die Zugriffsrechte für den Ordner gesetzt wurden, um die Dinge wieder angefangen zu arbeiten.
InformationsquelleAutor Suncat2000