So legen Sie die korrekten Dateiberechtigungen für ASP.NET unter IIS fest

8
  

HTTP Error 500.19 - Interner Serverfehler   Auf die angeforderte Seite kann nicht zugegriffen werden, da die zugehörigen Konfigurationsdaten für die Seite ungültig sind.

     

Fehlercode : 0x80070005
Konfigurationsfehler : Konfigurationsdatei kann aufgrund unzureichender Daten nicht gelesen werden   Berechtigungen

Wenn Sie neue Webanwendung in IIS 7.5 hinzufügen und ausführen, wird mir diese Seite gezeigt, wie Sie dieses Problem lösen win7 ultimate visual studio 2010

    
Thaer Mosa 21.05.2013, 19:23
quelle

2 Antworten

25

Die Nachricht ist klar.

  

Konfigurationsdatei kann aufgrund unzureichender Berechtigungen nicht gelesen werden

Wie man es löst.

Jede asp.net-Anwendung wird unter einem zugewiesenen Pool ausgeführt und jeder Pool wird unter einem bestimmten Konto ausgeführt.

Öffnen Sie den IIS, suchen Sie den Pool, unter dem Ihre App ausgeführt werden soll, sehen Sie sich den Benutzer an, der diesem Pool zugewiesen ist, und erteilen Sie diesem Benutzer Leseberechtigungen für die vollständige Site-Verzeichnisstruktur.

Speziell für die web.config

Die web.config , ihre configuration file , die diese Nachricht enthält, muss (und) Schreibberechtigungen haben.

So finden Sie web.config im Stammverzeichnis Ihrer Site, klicken Sie mit der rechten Maustaste darauf, gehen Sie zu Berechtigungen und geben Sie dem Poolbenutzer die Schreibfunktion. Der Poolbenutzer ist der Benutzer unter dem der Pool ausgeführt wird, wie ich unten erläutere.

Weitere Details

Um eine öffentliche ASP.net-Site mit IIS ausführen zu können, muss jede Datei im Verzeichnis über Berechtigungen für zwei Accounts verfügen.

Ein Konto, das für den öffentlichen Zugriff zugelassen ist, und das Konto, das diesem Anwendungspool zugewiesen wurde.

Um den ersten Account zu finden / zuzuweisen, gehen Sie auf Ihre iis-Site | Authentifizierung | Bearbeiten und sehen oder ändern Sie es, wie Sie auf dem Bildschirm sehen.

Nun notiere diesen Namen und wir werden den Benutzer mit dem Pool-Lauf finden.
Gehen Sie auf Ihre IIS-Site und klicken Sie auf die Grundeinstellungen, um den Pool-Namen zu finden, und gehen Sie dann zu IIS | Klicken Sie auf Anwendungspools, und lesen Sie die Spalte Identität, und notieren Sie sich den Namen des Benutzers, unter dem Ihre Site ausgeführt wird.

Jetzt, da wir die Namen der beiden Benutzer haben, gehen wir zum Stamm der Site und setzen das Minimum der Berechtigungen, die gelesen werden sollen als

Einige Hinweise

  • Wenn der IIS_Public_ACCESS_USER keine Leseberechtigung hat, wird die Site ausgeführt, aber nach dem Passwort
  • gefragt
  • In einigen Verzeichnissen benötigen Sie Schreibrechte, wenn Sie zum Beispiel Ihre Benutzer Bilder hochladen lassen oder App_Data, einige Datenbankdateien behalten. Nur für die angegebenen Verzeichnisse und die Schreibberechtigungen für den IIS_POOL_USER.
  • Einige Verzeichnisse, wie App_Data und App_Code, haben direkten Schutz vor asp.net und erlauben niemandem auf der Client-Seite zu laufen oder zu sehen, was da drin ist.
  • Fügen Sie auf dem öffentlichen Verzeichnis, das Schreibzugriff auf Ihren Benutzer zulässt, eine web.config hinzu und deaktivieren Sie die Ausführung von asp.net-Dateien vollständig.

Weitere Informationen zu den Verzeichnissen, die Schreibberechtigungen erteilen Ich wurde gehackt. Evil aspx-Datei hochgeladen namens AspxSpy. Sie versuchen es immer noch. Hilf mir, sie zu fangen!

    
Aristos 21.05.2013 19:31
quelle
-1

Offenbar verfügt Ihr IIS_User nicht über die erforderlichen Berechtigungen für den Zugriff auf Ihre Website unter C: \ Benutzer .... \ Visual Studio 2012 \ Websites ... Stellen Sie außerdem sicher, dass Ihre Anwendung die richtige .NET-Version (2.0, 4.0, ...) ausführt.

    
Ben Van Hees 21.05.2013 19:30
quelle