Das Hosten von ASP.NET in IIS7 gibt Zugriff verweigert?


123

Ich habe in meinem IIS7 eine Anwendung eingerichtet, die .NET Framework 4.0 (ausgeführt von NetworkService) verwendet, aber beim Durchsuchen der Site wird Folgendes angezeigt:

Der Zugriff wird verweigert.
Beschreibung: Beim Zugriff auf die für diese Anforderung erforderlichen Ressourcen ist ein Fehler aufgetreten. Möglicherweise haben Sie keine Berechtigung zum Anzeigen der angeforderten Ressourcen.
Fehlermeldung 401.3: Sie haben keine Berechtigung, dieses Verzeichnis oder diese Seite mit den von Ihnen angegebenen Anmeldeinformationen anzuzeigen (Zugriff aufgrund von Zugriffssteuerungslisten verweigert). Bitten Sie den Administrator des Webservers, Ihnen Zugriff auf * zu gewähren

Ich habe versucht, NetworkService die vollständige Berechtigung für den Ordner zu erteilen, in dem sich die Website befindet (auf den die Webanwendung in IIS verweist), aber der Zugriff wird trotzdem verweigert.

Warum?


Könnten Sie sich bitte meine Antwort auf ASP MVC in IIS 7 ansehen, die zu folgenden Ergebnissen führt: HTTP-Fehler 403.14 - Verboten .
Murat Yıldız

Antworten:


270

Ich habe Zugriff auf "IIS_IUser" gewährt, aber stattdessen sollte es "IUSR" sein . Das hat das Problem gelöst.


Das war auch mein Problem. Es ist lustig, wie viele verschiedene Benutzer es gibt. Sie haben auch IIS_IUSR (oder haben Sie das mit IIS_IUser gemeint?) Und können auch den Anwendungspool hinzufügen.
reaper_unique

2
Dies muss an die Startseite angeheftet werden, auf der der IIS verteilt wird!
c00000fd

36
Site> Authentifizierung> Anonyme Authentifizierung> Bearbeiten>
Jonas

4
Lief wie am Schnürchen! Es wurden Berechtigungen zu den Eigenschaften des IUSR-Windows Explorer-Ordners und der Registerkarte "Sicherheit" hinzugefügt.
Filipe Borges

3
Ich habe Zugriff auf IIS_IUser und IUSR gewährt, volle Kontrolle und es hat funktioniert.
Ronald Nsabiyera

165

Für mich funktionierte nichts außer dem Folgenden, das das Problem löste: Öffnen Sie IIS, wählen Sie die Site aus, öffnen Sie Authentifizierung (im Abschnitt IIS), klicken Sie mit der rechten Maustaste auf Anonyme Authentifizierung und wählen Sie Bearbeiten, wählen Sie Anwendungspoolidentität.


1
Nett. Arbeitete für mich unter Win Server 2012 IIS 8 für die ASP Classic-Website.
Ben_Coding

Dies hat geholfen. Sie müssen jedoch den gesamten Server zurücksetzen, damit die Einstellungen angewendet werden können. Es wurde versucht, Seite für Seite zurückzusetzen, aber es hat nicht funktioniert.
Sensei

Musste dies für eine neue Anwendung innerhalb einer vorhandenen Website tun, die auf eine andere .NET-Laufzeit abzielt, die mir eine 401 im Dokumentstamm der Anwendung gab (der Zugriff auf * .aspx-Seiten funktionierte direkt, während der Dokumentstamm nicht funktionierte).
Matt Borja

Vielen Dank. Hat beim ersten Versuch funktioniert.
GutierrezDev

Funktioniert perfekt, wenn Ihr AppPool als NETWORK SERVICE
Serge Voloshenko

12

Ich hatte das gleiche Problem, ich habe "Anonyme Authentifizierung" aktiviert, aber es hat immer noch nicht funktioniert. Also habe ich auch "Forms Authentication" AKTIVIERT. Dann hat es ohne Probleme funktioniert.


Für mich, als ich die Windows-Authentifizierung in IIS aktiviert habe und jetzt einwandfrei funktioniert. danke
Singaravelan

4

Betriebssystem: Windows 7 und IIS 7

Wenn Sie nach dem Hinzufügen von IUSR & NETWORK SERVICE immer noch die Berechtigung verweigert haben. Fügen Sie auch IIS_WPG hinzu. Das Hinzufügen dieses letzten Benutzers hat mein Problem gelöst.

Für Personen, die diese Benutzer nicht finden können: Wenn Sie versuchen, einen Benutzer zur Sicherheit des Ordners (Eigenschaften des Ordners) hinzuzufügen, klicken Sie im Fenster "Benutzer oder Gruppen auswählen" auf "Erweitert". Ändern Sie den Speicherort in den Computernamen und klicken Sie auf "Jetzt suchen". Sie finden diese Benutzer in der folgenden Liste.


Danke, das hat bei mir funktioniert! Ich habe IIS_IUSRS unter Windows Server 2012 verwendet, da dort kein IIS_WPG vorhanden ist.
Roman O

Ich sehe kein IIS_WPG. Ist das etwas, das du erschaffen hast?
Stealth Rabbi

4

Wenn Sie die anonyme Authentifizierung verwenden, verwendet IIS 7 das Konto "IUSR" für den Verzeichniszugriff (es sei denn, Sie haben die Verwendung der App-Pool-Identität festgelegt. Wenn Sie IUSR keine ausreichenden Berechtigungen für die Ordner und Dateien Ihrer Site erteilt haben, Sie werden diesen Fehler erhalten


3

In Windows 7 funktionierte es erst, nachdem ich beiden Benutzern die Berechtigungen "Lesen & Ausführen", "Ordnerinhalt auflisten" und "Lesen" für den Site-Ordner erteilt hatte

  • IUSR
  • NETZWERKDIENST

IUSR-Berechtigungen NETWORK SERVICE-Berechtigungen


Diese Lösung hat bei mir funktioniert und sonst nichts! Vielen Dank.
Aimal Khan

3

Versuchte die meisten Lösungen hier, aber kein Glück. Was für mich funktioniert hat, war das Hinzufügen von "Jeder" zu den Sicherheitsberechtigungen. Eigenschaften -> Sicherheit -> Bearbeiten -> Hinzufügen -> Jeder. Die angegebenen Standardeinstellungen reichten aus, um wieder Zugriff zu erhalten.

In naher Zukunft sollte ich wahrscheinlich herausfinden, welche Anmeldeinformationen an den Server gesendet werden, damit ich die richtigen Berechtigungen erteilen kann. Aber ich hoffe es hilft jemandem!


2

Das Überprüfen der Identität des Anwendungspools bei der anonymen Authentifizierung und das Aktivieren der Formularauthentifizierung würde das Problem lösen, dass der Zugriff verweigert wurde. 😁


1

Überprüfen Sie in den Authentifizierungseinstellungen für APP selbst (IN IIS), ob Sie anonym aktiviert haben.


1

Wir müssen einen neuen Benutzer ComputerName \ IUSR erstellen, indem wir zum Website-Ordner -> Eigenschaften ---> Sicherheit ---> Bearbeiten -> Hinzufügen und Lesezugriff wechseln. Das würde definitiv funktionieren.

Diese Lösung ist für IIS7


1

Ich ging herum und herum und es stellte sich heraus, dass die Standardseite nicht richtig eingestellt war. Ich hoffe, dies hilft jemand anderem, eine Stunde Zeitverschwendung zu vermeiden.


1

In meinem Fall, in dem c: \ windows \ Microsoft.Net \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe / i ausgeführt wurde, wurde das Problem mit der Verweigerung des Zugriffs 403 behoben.


Du bist der echte MVP! Vielen Dank! Ich habe mir mit diesem Fehler noch ein paar Kopfschmerzen erspart!
XhensB

1

Nach einigem Denken und einer Menge von Versuch und Irrtum habe ich herausgefunden , dass dieser Fehler aufgetreten ist, weil ein Teil meiner web.config wurde verschlüsselt und aus irgendeinem Grunde war der Schlüssel nicht mehr gültig.

Durch erneutes Verschlüsseln des Konfigurationsabschnitts wurde das Problem behoben.


0

Dies lag an einem Sicherheitsproblem im WWWRoot-Verzeichnis.

Eine einfache Lösung ist, kopieren Sie einfach den Anwendungsordner auf ein anderes Laufwerk anstelle von "C: \ Inetpub \ wwwroot" und erstellen Sie dann ein virtuelles Verzeichnis für diesen neuen Pfad. Das ist es.


0

Wenn der IUSR-Benutzer bereits in der Authentifizierung angegeben ist und dieses Problem weiterhin auftritt, ist möglicherweise Ihre Verzeichnisliste nicht aktiviert. Überprüfen Sie dies unbedingt. Das war bei mir der Fall.


0

Das ist mir passiert:

Get- Postist in Ordnung. Gut arbeiten.

Wenn ich versuche, Optionsverb zu verwenden , gibt der Server einen solchen Fehler zurück.

403

Dann hüte dich vor urlScan

Ich füge der URL-Datei der URL-Scan-Konfiguration das Verb OPTIONS hinzu, dann funktioniert alles gut.

Um zu überprüfen, ob urlscan installiert ist oder nicht, öffnen Sie Ihren iis-Manager. Der geöffnete ISAPI FILTERSURL-Scan sollte in der Liste angezeigt werden .


0

Ich hatte auch das gleiche Problem: Alles war normal. Alle Rechte wurden dem Benutzer und auch dem Ordner übertragen. Nach vielen Recherchen stellte ich fest, dass der wwwroot (Quellcode-Ordner) mit einem anderen Benutzer geteilt wurde. Ich hörte auf zu teilen und es funktionierte wie ein Zauber.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.