Ich versuche, meine ASP.Net-Website auf localhost zu testen, und erhalte den folgenden Fehler:
HTTP Error 401.3 - Unauthorized
You do not have permission to view this directory or page because of
the access control list (ACL) configuration or encryption settings for
this resource on the Web server.
Ich habe die folgenden Benutzer im Website-Anwendungsordner mit vollständigen Lese- / Schreibberechtigungen:
- NETZWERKDIENST
- IIS_IUSRS
- SYSTEM
- Administratoren
- Nathan (ich)
Was kann ich versuchen, um dies zu beheben?
Antworten:
IIS 7 erstellt auch "IUSR" als Standardbenutzer, um über IIS auf Dateien zuzugreifen. So machen Benutzer IUSR hat Lesezugriff auf Dateien / Ordner.
Wie überprüfe ich, ob IUSR Access gelesen hat? Klicken Sie mit der rechten Maustaste auf -> Ordner -> Eigenschaften -> Registerkarte Sicherheit. Überprüfen Sie, ob sich IUSR in der Liste der Gruppen- oder Benutzernamen befindet.
Klicken Sie auf Bearbeiten -> Hinzufügen -> Erweitert -> Jetzt suchen -> Wählen Sie IUSR aus und klicken Sie viermal auf OK
quelle
IIS_IUSRs
nicht genug war; Ich musste auch hinzufügenIUSR
. Es lohnt sich daran zu denken: o)Fand dies in einem anderen Forum, also kann ich keine Gutschrift entgegennehmen, aber ich tat es und es funktionierte für mich:
"Versuchen Sie, die Einstellung für die anonyme Authentifizierung in IIS7 zu ändern:
Klicken Sie auf Authentifizierung und klicken Sie auf Bearbeiten, nachdem Sie Anonyme Authentifizierung ausgewählt haben. Wählen Sie im sich öffnenden Fenster die Option Identität des Anwendungspools und klicken Sie auf OK. "
quelle
Ich hatte das gleiche Problem in IIS 7.5 unter Windows Server 2008. Für mich haben die folgenden Schritte funktioniert, um das Problem zu beheben:
Nachdem ich diese Änderung vorgenommen habe, sind meine 401.3-Fehler verschwunden.
quelle
Verwenden Sie einen Anmeldemechanismus oder nur eine anonyme Authentifizierung?
Wenn Sie anonym sind, rufen Sie den IIS-Manager auf, wählen Sie im Authentifizierungssymbol den Namen der anonymen Authentifizierung aus und klicken Sie dann unter Aktionen auf die Schaltfläche Bearbeiten. Überprüfen Sie, welcher Benutzer dort angegeben ist, und stellen Sie sicher, dass er über Berechtigungen für die Site-Dateien / -Ordner verfügt.
Wenn Sie über ein Anmeldesystem verfügen, stellen Sie sicher, dass die Benutzer, mit denen Sie sich anmelden, über Berechtigungen für die Dateien der Site verfügen, und stellen Sie sicher, dass die ID des Anwendungspools, unter dem Sie ausgeführt werden, mindestens Lesezugriff hat zu den Dateien.
quelle
Standardmäßig wird mit IIS 7.5 jeder Anwendungspool unter seiner eigenen "virtuellen Identität" ausgeführt. Die Identität des App-Pools sind die Anmeldeinformationen, die für den Zugriff auf das Dateisystem verwendet werden.
Ich bin nicht sicher, wie es funktioniert, aber Microsoft hat dies getan, um die Sicherheit der Standardinstallation zu erhöhen und gleichzeitig die Notwendigkeit zu verringern, in bestimmten Installationsszenarien Dienstkonten zu erstellen. Unabhängig davon müssen Sie dieses Konto mit der "virtuellen Identität" identifizieren und ihm Zugriff auf Ihr Verzeichnis gewähren oder das Dienstkonto des App-Pools ändern.
Die virtuellen App Pool-Identitäten haben den Namen "IIS AppPool \". Wenn Sie also den DefaultAppPool verwenden, lautet die Identität "IIS AppPool \ DefaultAppPool".
Weitere Einzelheiten finden Sie in diesem Artikel.
quelle
Hi For Me unter IIS 8 funktioniert wie folgt: 1) Gehen Sie zum virtuellen IIS-Verzeichnis - 2) Authentifizierung - 3) Anonyme Authentifizierung - 4) Legen Sie die Identität des Anwendungspools fest.
quelle
Da mir keine der obigen Antworten weitergeholfen hat, dachte ich, ich würde mitteilen, wie ich dieses Problem gelöst habe, als ich auf meinem lokalen Computer mit win7 und IIS7 darauf gestoßen bin.
Gehen Sie zu IIS7 -> Anwendungspools
Suchen Sie den Anwendungspool Ihrer Site (in meinem Fall DefaultAppPool), klicken Sie mit der rechten Maustaste und wählen Sie Erweiterte Optionen.
Suchen Sie das Kapitel Prozessmodell und ändern Sie das Feld Identität eines Benutzers, von dem Sie sicher sind, dass er Zugriff auf die Dateien in Ihrem Websiteordner hat (in meinem Fall der lokale Administrator).
quelle
Beantworten, um Informationen aus den Kommentaren zur akzeptierten Antwort hinzuzufügen.
In IIS 7.5 unter Windows Server 2008r2 ist die Gruppe IIS_IUSRS bereits enthalten, die separate IUSR-Gruppe muss jedoch den Berechtigungen hinzugefügt werden, um den Dateizugriff / -download zu ermöglichen.
Weitere Informationen zu den Unterschieden in den Konten finden Sie unter Grundlegendes zu integrierten Benutzer- und Gruppenkonten in IIS.
quelle
Versuchen Sie dies ... Gehen Sie zur Computerverwaltung (klicken Sie mit der rechten Maustaste auf meinen Computer und wählen Sie Verwalten) -> Lokale Benutzer und Gruppen -> Benutzer -> Wählen Sie IUSR_MACHINENAME -> Klicken Sie mit der rechten Maustaste auf Eigenschaften -> Stellen Sie sicher, dass es sich um ein Mitglied handelt von IIS_WPG und Benutzern und nicht Gästen.
Ich arbeite mit Server 2008 R2 und das IUser-Konto ist in der Liste nicht verfügbar.
quelle
Versuchen Sie, die Clientseite von IIS mithilfe von IIS zu installieren,
aspnet_regiis -c
und setzen Sie sie dann zurück.quelle
Für Benutzer, denen dies nicht ausreicht:
Ich habe es geschafft, damit zu arbeiten:
Versuchen Sie nun, Ihre Website zu aktualisieren.
quelle