Konfigurationsdatei kann aufgrund unzureichender Berechtigungen nicht gelesen werden

352

Ich habe kürzlich einen Fehler beim Hosten meiner asp.net-Site mit IIS festgestellt. Ich habe eine Lösung gefunden, auf die viele schwören.

Lösung:

  1. Fügen Sie IIS_IUSRS mit Leseberechtigung für Dateien im Ordner hinzu
  2. Ändern Sie die IIS-Authentifizierungsmethode in BasicAuthentication
  3. Aktualisieren Sie die Website. Es wird klappen

( http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html )

Was füge ich meiner web.config-Datei hinzu? Ich musste es noch nie bearbeiten. Hier ist der aktuelle Inhalt:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
 <system.web>
  <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
    </system.web>
</configuration>

Mein Fehler ist:

Konfigurationsfehler: Die Konfigurationsdatei kann aufgrund unzureichender Berechtigungen nicht gelesen werden. Konfigurationsdatei
: \? \ C: \ Benutzer ***** \ Dokumente \ Visual Studio2010 \ WebSites \ PointsForTime \ web.config

Freesnöw
quelle
9
Weitere Informationen finden Sie im Installations-Rewrite-Modul. Sparen Sie sich einige Stunden
regisbsb
Meine Lösung wäre, die Befehle über die Befehlszeile auszuführen, die mit Administratorrechten geöffnet wurde. Suchen Sie dazu die Eingabeaufforderung, klicken Sie mit der rechten Maustaste darauf und klicken Sie auf Mit Administratorrechten ausführen.
David Waddington
Beachten Sie zusätzlich zu den anderen Antworten, dass das Verschlüsseln des Dateisystems (EFS) auch IIS stören kann.
G-Wiz
Ich habe diese Anzeige gemacht, jetzt fragt der lokale Host nach einem Passwort, am nächsten komme ich so weit zu diesem funktionierenden Dank
Paul Ledger
1
Für mich gab es kein IIS_IUSR, ich tat das gleiche für authentifizierte Benutzer und es funktionierte
Bhanu Chhabra

Antworten:

543

Es gibt kein Problem mit Ihrer web.config . Ihre Website wird in einem Prozess ausgeführt. In iis können Sie die Identität dieses Prozesses definieren. Die Identität , unter der der Anwendungspool Ihrer Website ausgeführt wird ( Netzwerkdienste, lokales System usw.), sollte über die Berechtigung zum Zugriff auf und zum Lesen der Datei web.config verfügen.

Aktualisieren:

Diese aktualisierte Antwort ist dieselbe wie oben, jedoch etwas länger und einfacher und verbessert.

Zunächst einmal : Sie müssen nichts in Ihrer Konfigurationsdatei ändern. Es ist in Ordnung . Das Problem liegt bei den Windows-Dateiberechtigungen .

Dieses Problem tritt auf, weil Ihre Anwendung nicht auf die Datei web.config zugreifen und diese nicht lesen kann.

Machen Sie die Datei für die Gruppe IIS_IUSRS zugänglich . Klicken Sie einfach mit der rechten Maustaste auf web.config und klicken Sie auf auf Eigenschaften , unter Sicherheits Registerkarte hinzufügen IIS_IUSRS .

Was ist das für eine IIS_IUSRS-Sache?

Ihre Website ist wie eine Exe- Datei. Genau wie jede exe-Datei sollte es sein von einem Benutzer gestartet werden und gemäß den diesem Benutzer zugewiesenen Berechtigungen ausgeführt werden.

Wenn Ihre Site in IIS gestartet wird , ist der Anwendungspool Ihrer Website zugeordnet einem Benutzer zugeordnet ( Netzwerkdienste, lokales System usw.) (und kann in IIS geändert werden).

Wenn Sie also IIS_IUSRS sagen , bedeutet dies jeder Benutzer ( Netzwerkdienste, lokales System usw.), unter dem Ihre Site ausgeführt wird.

Und wie @Seph im Kommentar unten erwähnt : Wenn sich Ihr Computer in einer Domäne befindet , denken Sie daran, dass die IIS_IUSRS- Gruppe eine lokale Gruppe ist . Stellen Sie außerdem sicher, dass beim Versuch, diesen Benutzer zu finden, der Speicherort auf den lokalen Computer und nicht auf eine Unternehmensdomäne festgelegt wird.

Afshin Gh
quelle
79
Bei anderen ist darauf hinzuweisen, dass dies normalerweise der Standard ist, IIS_IUSRSund um sicherzustellen, dass beim Versuch, diesen Benutzer zu finden, der Speicherort auf den lokalen Computer und nicht auf eine Unternehmensdomäne festgelegt wird.
Seph
3
Gute Antwort, und hier ist ein zusätzlicher Tipp: Wenn Sie IIS7 unter Win7 in einer Domäne ausführen, finden Sie IIS_IUSRS möglicherweise nicht in der lokalen Gruppe, wenn Sie versuchen, mit 'Namen überprüfen ...' zu suchen. Keine Sorge - geben Sie einfach IIS_IUSRS vollständig ein und klicken Sie auf OK, und alles wird gut.
Acht-Bit-Guru
2
Was ist, wenn Sie ein freigegebenes Laufwerk für den Pfad einer Site haben? Hat das einen Effekt? Wie funktioniert dies mit freigegebenen Laufwerken?
Kevin
2
Ich musste das für IUSR tun. IIS_IUSRS hat aus irgendeinem Grund nicht für mich funktioniert.
Todd
13
Wenn Sie versuchen, eine neue ASP.Net-Website in IIS 7 von Grund auf neu einzurichten, nachdem Sie den in diesem Thread diskutierten Fehler behoben haben, wird möglicherweise der Autorisierungsfehler "HTTP-Fehler 401.3 - Nicht autorisiert" als nächste Hürde angezeigt. Wenn Sie die anonyme Authentifizierung aktiviert haben, ändern Sie die anonyme Benutzeridentität von "IUSR" (von IIS als Standard festgelegt) in "Anwendungspoolidentität". Um das Bearbeitungsfenster für diese Einstellung abzurufen, verwenden Sie die Aktion "Bearbeiten" im Bereich "Aktionen" in der Ansicht "IIS-Funktionen" für die IIS-Funktion "Authentifizierung".
RBT
71

Ich hatte anscheinend das gleiche Berechtigungsproblem in der web.configDatei.
Mein Problem wurde jedoch dadurch verursacht, dass IIS die Konfigurationsdatei nicht laden konnte, da sie Regeln zum Umschreiben von URLs enthielt und ich das Modul zum Umschreiben von IIS-URLs nicht auf dem neuen Server installiert hatte.

Lösung: Installieren Sie das Rewrite-Modul.
Hoffe das spart jemandem ein paar Stunden.

Jarrod
quelle
Jep. Der vorherige Server, auf dem ich dies verwendet habe, hat die Nicht-SSL-Route zu SSL umgeschrieben. So viel zu einer großartigen Fehlermeldung von IIS. error::) +1 Da ich kein SSL benötige, habe ich die URL zu HTTPS neu geschrieben, falls jemand ohne https verlinkt ist. Was für ein Rätsel.
Piotr Kula
Danke!!! Ich habe stundenlang mit Berechtigungen rumgespielt und es war am Ende darauf zurückzuführen!
Carl Woodhouse
Wie wird das IIS-URL-Umschreibemodul installiert?
B. Clay Shannon
2
Dies war auch mein Problem - danke! Laden Sie das Umschreibemodul von dieser Seite herunter, um es zu installieren: iis.net/downloads/microsoft/url-rewrite Schließen Sie IIS, installieren Sie IIS und starten Sie es neu (nur um sicher zu gehen).
Tyler Forsythe
2
@ B.ClayShannon Verwenden Sie das Web Platform Installer und suchen Sie nach IIS Rewrite
enorl76
64

Anmerkung des Herausgebers: Das zu tun, was diese Antwort sagt, ist GEFÄHRLICH ! Das LocalSystem-Konto ist ein ...

Vollständig vertrauenswürdiges Konto, mehr als das Administratorkonto. Es gibt nichts auf einer einzelnen Box, was dieses Konto nicht kann, und es hat das Recht, als Computer auf das Netzwerk zuzugreifen (dies erfordert Active Directory und das Erteilen der Berechtigungen für das Computerkonto für etwas).


Ändern der Identität von ApplicationPoolIdentity in LocalSystem hat die Arbeit erledigt;).

Ich verwende win7 64 mit IIS 7.5

Weitere Informationen zur Anwendungspoolidentität in IIS 7.5 und Win 7

Geben Sie hier die Bildbeschreibung ein

amd
quelle
Nützliche Antwort auch für IIS 6. Weitere Informationen zum Ändern der Identität des Anwendungspools finden Sie auf der Microsoft-Website hier: microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/…
Manuel Alvarez
22
Das Vornehmen
WhiteKnight
Dies scheint mein Problem hier gewesen zu sein und das Ändern der App-Pool-Identität in LocalSystem hat wie beschrieben funktioniert!
Vasily Hall
21
Dies wird aufgrund der klaffenden Sicherheitslücke, die auf dem Server verbleibt, herabgestimmt. Sie sollten NIEMALS öffentlich zugängliche Dienste wie IIS unter dem lokalen Systemkonto ausführen !!!! Grundsätzlich geben Sie die Schlüssel an das Königreich für jeden weiter, der den Server hacken kann. Im Ernst, tu das nicht.
Dimesio
5
OMG Diese Antwort ist aus Sicherheitsgründen SO INKORREKT. Moderationseingriff ist erforderlich. Dies ist eine schreckliche Idee. Stellen Sie sich jeden Dateizugriff vor, der auf dem Querystring angegeben ist ... boom ... jeder kann web.config LESEN und IIS wird ihn gerne der Welt zur Verfügung stellen. VERWENDEN SIE DIESE ANTWORT NICHT.
Enorl76
47

Ich hatte das gleiche Problem, als ich versuchte, den Site-Stammordner für einen anderen Benutzer freizugeben. Einige Ordner haben die Berechtigung verloren. Also habe ich die Schritte befolgt, um die Berechtigung zu IIS_IUSRS hinzuzufügen Gruppe , wie von Afshin Gh vorgeschlagen. Das Problem ist, dass diese Gruppe für mich nicht verfügbar war. Ich benutze Windows 7.

Was ich getan habe, habe ich nur einige Schritte geändert:

  1. Klicken Sie mit der rechten Maustaste auf den übergeordneten Ordner (der die Berechtigung verloren hat).
  2. Eigenschaften => Sicherheit => In "Gruppen- oder Benutzernamen:",
  3. Klicken Sie auf Bearbeiten ...
  4. Das Fenster "Berechtigung für Ihren Ordner" wird geöffnet.
  5. Drücken Sie unter "Gruppen- oder Benutzernamen:" ADD ... btn,
  6. Typ Authen und drücken Sie auf Namen überprüfen,
  7. Sie sehen den vollständigen Gruppennamen " Authentifizierte Benutzer" ".
  8. Drücken Sie OK => Übernehmen.
  9. Dies sollte die Berechtigungen wieder aktivieren.

Das hat bei mir funktioniert.

zwitterion
quelle
2
Das hat bei mir funktioniert. Dies sollte die akzeptierte Antwort sein. Ich habe die anderen Methoden ausprobiert, sie funktionieren nicht.
GunWanderer
1
Versucht, dass alle anderen Lösungen erst mit dieser funktionieren.
Jenna_3108
1
Okay, ich glaube ich habe eine Erklärung dafür, warum das funktioniert. Einige Entwickler hosten ihren Code unter C:\ ie C:\Devoder C:\Codeusw. Die Sicherheitsgruppe Authenticated Userswird für den C:\ Ordner erteilt und an untergeordnete Ordner weitergegeben. Im C:\UsersOrdner wird diese Weitergabe jedoch gestoppt. Entwickler wie ich, die ihren Code im Basisordner hosten, müssen Zugriff Authenticated Usersauf diese IIS -Stammordner gewähren , damit IIS funktioniert.
Colin
Wenn ich auf Namen prüfen klicke, werden mich Anmeldeinformationen abgefragt. Ich bin nicht sicher, welche Benutzeranmeldeinformationen hier erwartet werden. Kann jemand helfen?
RSB
18

Sie müssen nichts in Ihrer web.config ändern.

Das Problem sind Dateisystemberechtigungen. Ihre Dateiberechtigungen erlauben dem Benutzer IIS_IUSRS nicht, auf web.config (oder wahrscheinlich auf eine der Dateien) zuzugreifen. Ändern Sie die Dateiberechtigungen in Windows, damit das IIS_IUSRS-Konto darauf zugreifen kann.

Erik Funkenbusch
quelle
1
Ich hatte ein ähnliches Problem. Wenn jemand den Benutzer IIS_IUSRS jemals nicht finden kann, überprüfen Sie den Speicherort. Meins war standardmäßig die Unternehmensdomäne, daher habe ich sie nicht sofort gefunden, weil ich vergessen habe zu überprüfen, wo sie gesucht hat.
Jgreep
@Mystere Man Ich habe das gleiche Problem. Ich habe die Berechtigungen geändert und es dann versucht. Trotzdem bekomme ich den gleichen Fehler. :(
Rauf
"(oder wahrscheinlich eine der Dateien)" funktioniert für mich. Das Zulassen des Zugriffs des IIS_IUSRS-Kontos auf web.config reicht nicht aus. Ich muss es aktivieren, damit der Zugriff auf alle Dateien auf der Site hilfreich ist.
Tuyen Nguyen
2
Ich musste das für IUSR tun. IIS_IUSRS hat bei mir nicht funktioniert.
Todd
Vielen Dank. Ich habe "Jeder" mit voller Berechtigung für den Web-App-Ordner erteilt und es funktioniert.
Minh Nguyen
16

Machen Sie die Datei für IIS_IUSRS zugänglich Gruppe . Klicken Sie mit der rechten Maustaste auf Ihre web.config, erweitern Sie die Eigenschaften und fügen Sie auf der Registerkarte Sicherheit IIS_IUSRS hinzu. Geben Sie der Gruppe Lese- / Schreibzugriff.

Wenn die Gruppe NICHT verfügbar ist, ersetzen Sie IIS_IUSRS durch Computername \ IIS_IUSRS

Kurt Van den Branden
quelle
+1 Guter Tipp. Die akzeptierte Antwort ist gut, vernachlässigt jedoch zu erwähnen, dass Sie möglicherweise Ihren Computernamen vor 'IIS_IUSRS' einfügen müssen, was mich daran vorbei gebracht hat.
Ralph Lavelle
Dies ("Wenn die Gruppe NICHT verfügbar ist") hatte meine Hoffnungen geweckt, aber selbst wenn ich den Computernamen voranstellte ("IBM-TAMMYFAYEBAKER.platypus.local \ IIS_IUSRS"), erhalte ich immer noch den gleichen Fehler. Ich habe auch versucht, den vollständigen Computernamen zu verwenden, aber das würde er nicht einmal als gültigen Benutzer akzeptieren.
B. Clay Shannon
15

Gehen Sie zum übergeordneten Ordner, klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften . Wählen Sie die Registerkarte Sicherheit , bearbeiten Sie die Berechtigungen und fügen Sie hinzu . Klicken Sie auf Erweitert und dann auf Jetzt suchen . Wählen Sie IIS_IUSRS aus und klicken Sie erneut auf OK und OK . Stellen Sie sicher, dass Sie das Kontrollkästchen Schreiben aktiviert haben . Klicken Sie auf OK und OK erneut auf .

Job erledigt!

Quinny
quelle
19
Was um alles in der Welt ist mit der Empfehlung des Schreibzugriffs, wenn nur Lesen erforderlich ist? / downvoted
TristanK
2
Der einzige IIS *, den ich habe, ist IIS_WPG
B. Clay Shannon
1
@ B.ClayShannon Ich auch. Ich habe nur IIS_WPG
Fortune
13

Wenn Sie IIS_IUSRS Berechtigungen erteilen , sollten Sie überprüfen, ob im Abschnitt IIS / Authentifizierung Ihrer Webanwendung die Anonym-Authentifizierungsdaten die Anwendungspoolidentität und nicht IUSR verwenden.

Geben Sie hier die Bildbeschreibung ein

Carlos
quelle
Wo kann ich diese Schnittstelle bekommen?
Auf der Registerkarte Funktionsansicht Ihrer Webanwendung: Authentifizierung
Carlos
Diese Antwort sollte Teil der akzeptierten Antwort sein. Ohne diese Antwort müssen Sie auch IUSR in die Zugriffsliste des Ordners der Website aufnehmen
Laurent S.
7

Aus irgendeinem Grund ist Ihre web.config schreibgeschützt. Deaktivieren Sie die Option readonly der Datei web.config.

Luis
quelle
Wenn Ihre Berechtigung Vollzugriff ist und dennoch der Fehler angezeigt wird, ist dies die richtige Antwort (y).
Vasil Valchev
4

Ich habe subst verwendet, um ein Mapping von D: nach C: zu erstellen, um das gleiche Setup wie bei anderen Entwicklern im Team beizubehalten. Dies gab mir auch die gleichen Fehler wie beschrieben. Das Entfernen hat es für mich behoben.

Sniipe
quelle
3

Die akzeptierte Lösung war nichts für mich. Ich benutze ein Git-Repo und es hat in den folgenden Ordner geklont

c:\users\myusername\source\repos\myWebSite

Ich habe eine neue IIS-Website erstellt und auf den Pfad hingewiesen. Welches hatte nicht die iis_iusrs Berechtigungen in der akzeptierten Lösung vorgeschlagen. Als ich die Berechtigungen hinzufügte, funktionierte es immer noch nicht.

Es begann erst zu funktionieren, als ich der Gruppe 'Benutzer' die folgenden Berechtigungen erteilte und die Vererbung die Berechtigungen an web.config kaskadierte. Wahrscheinlich sollte es nur auf die web.config angewendet werden, um die Angriffsfläche zu reduzieren.

Benutzerpemissionen

Tom McDonald
quelle
Hatte genau die gleiche Situation. Das hat geholfen.
Roemer
2

Wir hatten eine Website mit einer bestimmten Identität im Apppool, nur nachdem dieser Benutzer Lesezugriff auf den Ordner mit der Datei web.config erhalten hatte, würde dies funktionieren. Wir haben dies aufgespürt, nachdem wir den Benutzer "Jeder" mit "Lesen" hinzugefügt hatten, und alles hat gut funktioniert.

rauben
quelle
2

Für mich trat der Fehler beim Debuggen auf meinem lokalen Computer auf und stellte sich als mit der Basis web.config verbunden heraus, die vom .NET Framework beim Kompilieren der Website initiiert wird. Meine Datei C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web.config hatte ein nicht erkanntes Element (folderLevelBuildProviders). Durch Beheben dieses Problems wurde der Fehler 500.19 behoben.

Siehe dies: IIS Manager kann die .NET-Kompilierung in .NET 4-Anwendungen nicht konfigurieren

Rafael Emshoff
quelle
2

Das Ändern der Prozessmodellidentität in LocalSystem hat dieses Problem für mich behoben. Sie finden diese Einstellung, wenn Sie mit der rechten Maustaste auf den Anwendungspool klicken und "Erweiterte Einstellungen" auswählen. Ich verwende IIS 7.5.

jshoaf
quelle
2

Klicken Sie mit der rechten Maustaste auf Web.Config => Registerkarte Sicherheit => Schaltfläche Bearbeiten => Schaltfläche Hinzufügen => Schaltfläche Erweitert => Schaltfläche Jetzt suchen => Wählen Sie in den Suchergebnissen Ihre Gruppe aus (in unserem Fall "IIS_IUSRS") => Ok => Ok => OK

Igor Levkivskiy
quelle
2

Dies ist uns passiert, als die IIS-Anwendung über ein virtuelles Verzeichnis mit einem physischen Pfad verfügt , der Schrägstriche /anstelle von Schrägstrichen enthält \. Dies wurde versehentlich mithilfe einer Powershell-Verwaltungs-API für IIS während unseres kontinuierlichen Bereitstellungsprozesses durchgeführt.

Beispiel für eine schlechte Konfiguration - applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite/MyService" />
</application>

Stellen Sie sicher, dass das physicalPathAttribut keine Schrägstriche /, sondern nur Schrägstriche enthält\

Korrigiertes Konfigurationsbeispiel - applicationHost.config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite\MyService" />
</application>
SliverNinja - MSFT
quelle
1
In meinem Fall hatte der physische Pfad einen doppelten Schrägstrich, z C:\inetpub\MySite\\MyService. Das Ändern in einen einzelnen Schrägstrich hat funktioniert
Ben Anderson
2

Ich habe dieses Problem gelöst, indem ich dem Ordner für den Benutzer des Anwendungspools (WIN SERVER 2008 R2) eine Leseberechtigung hinzugefügt habe: C: \ Windows \ System32 \ inetsrv \ config

Ein kleiner Hintergrund: Unser Server wurde mit einem klassischen Fehler gehackt, bei dem der App-Benutzer mehr Berechtigungen hatte als er sollte (lokaler Administrator).

Um dies zu beheben, haben wir einen neuen Domänenbenutzer erstellt, der nur über Berechtigungen für den Anwendungsordner mit mindestens erforderlichen Rechten verfügt, und ihn als Benutzer des Anwendungspools zugewiesen. als wir in der Ausgabe getroffen haben und dies war eine Lösung für unsere Probleme.

ludens
quelle
2

Verschieben Sie Ihr Projekt auf ein anderes Laufwerk als C: Hat bei mir mit demselben Fehler funktioniert.

Talha Imam
quelle
2

Dies kann passieren, wenn sich Ihre Anwendung in einem virtuellen Verzeichnis befindet und der Pfad zu den Dateien ein zugeordnetes Laufwerk ist.

Wenn Sie den Pfad zu den Dateien auf ein lokales Laufwerk ändern, wird dies behoben, wenn dies tatsächlich Ihr Problem ist.

UKcentric
quelle
2

Alle Antworten sind gültig und funktionieren unter verschiedenen Umständen.

Für mich hat der Neustart von Visual Studio funktioniert.

Doruk
quelle
1

Die obigen Antworten waren hilfreich, aber falls dies jemandem hilft - ich hatte genau dieses Problem und es stellte sich heraus, dass ich (Windows-Netzwerk) den Stammordner freigegeben habe, von dem aus die Site gehostet wurde. Wir haben die Freigabe beendet und die Berechtigung des Benutzers zum Lesen / Ausführen hinzugefügt, und es hat wieder einwandfrei funktioniert.

Ich vermute, die Aktie hat es vermasselt.

Michael
quelle
0

Ich erhielt auch die Meldung "Konfigurationsdatei kann aufgrund unzureichender Berechtigungen nicht gelesen werden". Es stellte sich heraus, dass die ISAPI- und CGI-Einschränkungen in IIS für ASP.NET 4.0 32-Bit und 64-Bit abgelehnt wurden. Das Markieren von beiden als Zulässig behebt mein Problem.

Graf
quelle
0

Hatte dieses Problem mit einer virtuellen Anwendung. Alle Berechtigungen wurden festgelegt. IIS_IUSRS, AppPoolIdentity und gab dann allen vollen Zugriff. Nichts hat geklappt. Apppool, Site und IIS neu gestartet, aber kein Los.

Die virtuelle Anwendung wurde gelöscht und von Grund auf neu hinzugefügt, und sie begann zu funktionieren.

Ich wünschte, ich wüsste, was es gelöst hat.

gbs
quelle
0

Überprüfen Sie, ob die Datei trotz der Berechtigung IIS_IUSRS nicht als schreibgeschützt markiert ist. Sie zeigt dieselbe Meldung an.

Syed Umar Ahmed
quelle
0

Ich hatte diese Fehlermeldung, die darauf zurückzuführen war, dass sich mein physischer Ordner auf einem Netzwerklaufwerk und nicht auf dem lokalen Laufwerk befand. Es scheint, dass die Berechtigungen für solche Laufwerke standardmäßig unterschiedlich sein können. Während der lokale Speicherort den Benutzern des lokalen Computers die Berechtigung erteilte, war dies beim Netzwerkstandort beispielsweise nicht der Fall.

Ferner funktioniert die akzeptierte Antwort für einen solchen Fall nicht. Die lokalen Benutzer oder IIS-Benutzer waren nicht verfügbar, um Berechtigungen zuzuweisen. Die Lösung bestand darin, den physischen Ordner auf das lokale Laufwerk zu verschieben.

Kat
quelle
0

Ich hatte das gleiche Problem und nachdem ich alle hier als Antworten geschriebenen Dinge getan hatte, wurde es immer noch reproduziert. Die zweite Hälfte des Problems war die Tatsache, dass .NET unter "Windows-Funktionen aktivieren oder deaktivieren" deaktiviert wurde.

Bogdan Kumpels
quelle
0

Wenn es sich um einen neuen Server handelt, müssen Sie manchmal die ASP.NET-Funktion in IIS konfigurieren oder installieren, damit sie Ihre web.config-Datei lesen kann.

In meinem Fall war dies der Grund.

SanthoshM
quelle
0

In meinem Fall habe ich versucht, Seiten von einem zugeordneten Laufwerk (Subst) zu hosten. Das Problem ist, dass der Subst unter meinem Konto ausgeführt wurde und der IIS-Benutzer nicht dasselbe Laufwerk sehen kann

Dinesh Rajan
quelle
0

Ich gab die Erlaubnis und benutzte ICACLS.exe, funktionierte aber nicht. Dann habe ich den physischen Pfad geändert und es hat erfolgreich funktioniert.

(IIS 8.5 Windows 2012 R2)

Adem Aygun
quelle