it-swarm.com.de

IIS - 401.3 - Nicht autorisiert

Ich versuche, mit der Verwendung von IIS zu beginnen. Ich habe auf IIS Manager eine neue Site erstellt, diese einem Ordner in meinem Dateisystem zugeordnet und dem Ordner index.html hinzugefügt. Ich habe den Port für diese Site auf 85 festgelegt. Wenn ich es versuche zugreifen http://localhost:85/index.html Erhalte ich folgende Fehlermeldung:

401.3 - Unbemerkt - Sie haben aufgrund der Konfiguration der Zugriffssteuerungsliste (ACL) oder der Verschlüsselungseinstellungen für diese Ressource auf dem Webserver keine Berechtigung zum Anzeigen dieses Verzeichnisses oder dieser Seite.

Ich gab allen Lesezugriff auf den Ordner und versuchte es erneut. Ich konnte dann auf die Seite zugreifen.

Ich habe dann die Eigenschaften meines Ordners mit denen von wwwroot verglichen. Ich fand, dass wwwroot Lesezugriff auf IIS_IUSRS hatte ... Als ich dasselbe in meinem Ordner tat und es erneut versuchte, wurde der obige Fehler erneut angezeigt. Ich habe überprüft, dass der anonyme Zugriff standardmäßig aktiviert ist, erhalte jedoch weiterhin diese Fehlermeldung.

Warum passiert das? Was ist der richtige Weg, um das Problem zu lösen?

71
Aadith

Ich habe mich mehrere Tage lang mit dem gleichen Thema auseinandergesetzt. Sie können dieses Problem beheben, indem Sie die Zugriffsrechte für Sicherheitsbenutzer des Dateisystemordners ändern, dem Ihre Site zugeordnet ist. IIS_IUSRS ist jedoch nicht das einzige Konto, das Sie autorisieren müssen.

  • Ändern Sie in der IIS Verwaltungskonsole im Authentifizierungsteil der Konfiguration Ihrer Site die Zeile "Anonyme Authentifizierung" und überprüfen Sie das als "Bestimmter Benutzer" festgelegte Konto (neu ist IUSR).
  • Geben Sie diesem Konto die Lese- und Ausführungsberechtigung für den Ordner Ihrer Website.

OR

  • Ändern Sie in der IIS Verwaltungskonsole im Authentifizierungsteil der Konfiguration Ihrer Site die Zeile "Anonyme Authentifizierung", indem Sie "Identität des Anwendungspools" anstelle von "Bestimmter Benutzer" auswählen.
134
groch

Hier ist, was für mich gearbeitet hat.

  1. Legen Sie die App-Pool-Identität auf ein Konto fest, dem Berechtigungen für einen Ordner zugewiesen werden können.
  2. Stellen Sie sicher, dass dem Quellverzeichnis und allen zugehörigen Dateien Leserechte für die Dateien für das Konto gewährt wurden, das der App-Pool-Identitätseigenschaft zugewiesen ist
  3. Legen Sie in IIS auf dem Server-Stammknoten fest, dass anonymer Benutzer von der App-Pool-Identität erbt. (Dies war der Teil, mit dem ich zu kämpfen hatte)

Führen Sie die folgenden Schritte aus, um festzulegen, dass der Server anonym von der App-Pool-Identität erbt.

  • Öffnen Sie den IIS Manager (inetmgr)
  • Wählen Sie im linken Bereich den Stammknoten (Server-Hostname) aus.
  • Öffnen Sie im mittleren Bereich das Applet 'Authentifizierung'
  • Markieren Sie "Anonyme Authentifizierung".
  • Wählen Sie im rechten Bereich "Bearbeiten ..." aus (ein Dialogfeld sollte sich öffnen).
  • wählen Sie "Identität des Anwendungspools".
46
barrypicker

Da es sich um statische Inhalte handelt ...

Wird in dem Ordner, der als Stammverzeichnis Ihrer Website fungiert, "Benutzer" in der Liste angezeigt, wenn Sie mit der rechten Maustaste auf> Eigenschaften> Sicherheit klicken? Wenn dies nicht der Fall ist, klicken Sie auf "Hinzufügen ..." und geben Sie es ein. Klicken Sie anschließend auf "Übernehmen".

11
joelmdev

TL; DR;

In den meisten Fällen reicht es aus, den Zugriff auf die folgenden Konten (eins | beide) zu gewähren:

  1. IIS AppPool\DefaultAppPool
  2. IUSR

mit Zugriffsrechten :

  1. Lesen und ausführen
  2. Ordnerinhalt auflisten
  3. Lesen

Das ist es!

Lesen Sie weiter für eine detailliertere Erklärung ...


  1. Öffnen Sie IIS und wählen Sie Ihre Anwendung aus .
  2. Klicken Sie rechts auf Authentifizierung .
  3. Wählen Sie hier " Anonyme Authentifizierung " aus.
  4. Der folgende Dialog erscheint.

enter image description here

Gewähren Sie den Zugriff auf die ACL des Webanwendungsordners, je nachdem, was in der obigen Abbildung ausgewählt ist:

  • Bestimmter Benutzer: Zugriff gewähren für beide IUSR (in meinem Fall) + IIS AppPool\DefaultAppPool
  • Identität des Anwendungspools: Erteilen Sie den Zugriff für IIS AppPool\DefaultAppPool nur

IIS AppPool\DefaultAppPool account ist das Standard-AppPool-Konto für neue IIS Webanwendungen. Wenn Sie ein benutzerdefiniertes Konto festgelegt haben, verwenden Sie das benutzerdefinierte Konto.


Geben Sie den Konten die folgenden Berechtigungen:

  1. Read & Execute
  2. List folder contents
  3. Read

enter image description here

Das ist es.

9
Legends

Versuchen Sie diese Lösung:

https://serverfault.com/questions/38222/iis-7-5-windows-7-http-error-401-3-unauthorized

Überprüfen Sie auch, ob der Benutzer, der den IIS AppPool ausführt, Lesezugriff auf diesen Ordner/diese Datei hat.

Schau dir das an:

http://www.iis.net/learn/manage/configuring-security/application-pool-identities

Schauen Sie sich das auch an:

http://www.iis.net/learn/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis

3
c-chavez

Nur für den Fall, dass jemand anderes darauf stößt. Ich habe alle diese Schritte behoben und es stellte sich heraus, dass ich einige Dateien von einem MAC entpackt habe. Microsoft hat die Dateien automatisch ohne Benachrichtigung verschlüsselt. Nachdem ich stundenlang versucht hatte, die Ordnerberechtigungen festzulegen, sah ich, dass die Dateinamen grün waren, was bedeutet, dass die Dateien verschlüsselt waren und IIS wird den gleichen Fehler auslösen, auch wenn die Ordnerberechtigungen korrekt sind.

1
Kris